Przegląd możliwości Zoho API i Zoho CloudSQL

Zoho.com to potężny zbiór aplikacji do pracy grupowej, zarządzania finansami, firmą, czy do tworzenia stron i aplikacji webowych powiązanych z tą funkcjonalnością. Aplikacje są darmowe w użytkowaniu, jak i dostępne jest rozbudowane API do tych aplikacji, wliczając w to CloudSQL - możliwość operowania na danych w arkuszach/raportach za pomocą języka SQL. Za pomocą tych aplikacji i API można tworzyć profesjonalne aplikacje biznesowe działające w chmurze Zoho lub na serwerach firmy. Aplikacje stworzone za pomocą Zoho Creator mogą być hostowane w chmurze Zoho lub na Google App Engine (Zoho Creator Takes On Role as Google App Engine IDE).

Dzięki API na usługi Zoho można wykorzystać na własnej stronie internetowej funkcjonalności takie jak: edycja tekstu, tworzenie aplikacji webowych, tworzenie prezentacji, wykorzystywanie arkusza kalkulacyjnego, czy zarządzanie listą to-do.

Istnieją dwa typy API - Data API i Remote API, które różnią się funkcjonalnością i źródłem przetrzymywania danych (serwer Zoho lub własny serwer).

Zoho Data API

  • Potrzebne jest konto na zoho.com
  • Dane zapisywane są na serwerach Zoho.com
  • Używane do integrowania interfejsów aplikacji Zoho na zewnętrznych stronach www
  • Umożliwia użytkownikom dostęp do funkcjonalności takiej jak:
    • Dzielenie się materiałami i praca grupowa
    • Tworzenie publicznych dokumentów
    • Tagowanie dokumentów
    • Kasowanie i wrzucanie do kosza dokumentów
    • Stronicowanie
    • Historia dokumentów
  • Dostępne komponenty:
Wymagania dla korzystania z Data API są następujące:
  • Użytkownicy powinni posiadać własne Zoho ID
  • Użytkownik musi wygenerować klucz API i Ticket by uzyskać dostęp do API
  • Użytkownik powinien się zalogować by widzieć/edytować/kasować dokumenty
Generowanie Ticketa i dostęp do API opisany jest na stronie Accessing Zoho APIs.

Zoho Remote API

  • Nie wymaga konta na zoho.com
  • Dane zapisywane na serwerze partnera (~właściciela aplikacji)
  • Używane do dostępu/edycji danych dostępnych na serwerze właściciela
  • Remote API pozwala klienckim aplikacjom na tworzenie i edycję dokumentów w zewnętrznych edytorach Zoho (Writer, Sheet itd.). Pełne opcje współpracy i zarządzania dokumentami nie są dostępne.
  • Dostępne komponenty:

Dostępna jest także płatna wersja API posiadająca dodatkowe funkcjonalności jak SSL (kodowanie danych wymienianych między serwerem partnera a serwerem zoho).

Wymagania dla korzystania z Remote API są następujące:
  • Wygenerować klucz API
  • Wysłać formularz z wymaganymi parametrami używając zwykły lub wieloelementowy formularz (multi-part)
  • Podać miejsce zapisu dokumentu w parametrze saveurl formularza

Zoho CloudSQL

CloudSQL to technologia pozwalająca programistom do interakcji z danymi biznesowymi dostępnymi w aplikacjach Zoho poprzez język SQL. Dodatkowo dostępne są sterowniki ODBC i JDBC. Dzięki CloudSQL można połączyć dane z aplikacji Zoho używanych przez firmę z własnym lokalnym oprogramowaniem lub inną usługą SaaS.

Wymagania dla korzystania z CloudSQL są następujące:
  • Wygenerować Klucz API użytkownika
  • Zalogować się do Zoho Reports i stworzyć jakąś bazę danych (potrzebne będzie też ID użytkownika)
  • Pobrać bibliotekę Pythonową dla CloudSQL
Oto przykład wykorzystania API w Pythonie:
from com.adventnet.zoho.client.report.python.ReportClient import ReportClient

APIKEY = 'TWÓJ_KLUCZ'
LOGINNAME = 'TWÓJ_LOGIN'
PASSWORD = 'TWOJE_HASŁO'
DATABASENAME = 'NAZWA_BAZY'
TABLENAME = 'NAZWA_TABELI'

rc = ReportClient(APIKEY)
rc.login(LOGINNAME,PASSWORD)
uri = rc.getURI(LOGINNAME,DATABASENAME,TABLENAME)

export = open('export.csv', 'w')
rc.exportData(uri, 'csv', export)
#rc.exportData(uri, 'csv', export, "Firma = 'Firma A' AND Zysk = 400")
print 'Done'
Nazwę bazy i tabelę bierzemy z Zoho Reports:
zoho1
zoho2
Gdzie odpowiednio nazwa bazy to "test", a tabela to "testowy" (jako arkusz). Opis API dostępny jest w paczce modułu. Metoda exportData służy do pobierania danych w określonym formacie. Jej argumenty to odpowiednio - link do tabeli, format eksportu, obiekt pliku, do którego zapisane zostaną dane i opcjonalny - warunki filtrów na eksportowane kolumny. Pozostałe metody do kasowania, dodawania i edycji mapują zapytania SQL na tego typu interfejs obiektowy. Jeżeli ktoś woli posługiwać się SQL to wystarczy urllib2 do bezpośredniej obsługi API: Executing a SQL Query.

Baza danych jest mapowana na Bazę Danych Raportów w Zoho Reports. Tabela jest mapowana na arkusze (tabele Zoho Reports przedstawiane jako arkusze). Kolumny są mapowane na kolumny arkuszy (kolumny tabel Zoho Reports :))

RkBlog

Programowanie Sieciowe, 30 September 2009

Comment article
Comment article RkBlog main page Search RSS Contact