Google udostępnia API Gmaila. Po co?

Artykuł/Technologie 27.06.2014
Google udostępnia API Gmaila. Po co?

Google udostępnia API Gmaila. Po co?

Wiele można powiedzieć o standardowych protokołach jakimi łączą się programy pocztowe z serwerami poczty (IMAP, POP3, SMTP), ale na pewno nie to, że są wydajne, nowoczesne i godne zaufania. Powstały dziesiątki lat temu i pełne są archaiczności, i niedogodności. Szczególnie dotyczy to pary protokołów POP3 i SMTP wciąż domyślnie zaktywowanych u większości dostawców usług pocztowych. Poczta internetowa to skansen.

Nic więc dziwnego, że próbuje się zastąpić protokoły komunikacyjne takimi, które są powszechniej używane, znane programistom i lepiej integrują się z resztą usług internetowych. Architekturami, jakie się teraz powszechnie wykorzystuje, są wzorce tworzenia protokołów REST (Representational State Transfer).

Większość usług internetowych przyswoiło sobie ten schemat architektury. Charakterystycznymi cechami takiej architektury jest przesyłanie parametrów do usługi w ścieżce adresu URL (http://example.com/users/1/details), oraz stosowanie formatu JSON do wymiany danych.

Microsoft już w marcu tego roku ogłosił wprowadzenie interfejsów w architekturze REST dla swojej usługi Office 365. Platforma ta uzyskała dostęp za pomocą tego protokołu do wszystkich danych użytkownika, również do poczty przechowywanej na serwerach Exchange Online.

email

Nie trzeba było długo czekać aby również Google udostępniło tego typu API dla swojej usługi Gmail.

Google udostępnia już bardzo wiele usług za pomocą tego protokołu (API to Application Programming Interface, czyli sposób udostępnienia jakiejś usługi nie bezpośrednio użytkownikowi ale innym aplikacjom).

Co to może oznaczać dla piszących aplikacje? Dostęp za pomocą prostego protokołu do następujących danych w zautoryzowanej skrzynce Gmail:

  • Wiadomości
  • Wątki
  • Etykiety (odpowiednik folderów)
  • Szkice
  • Historia

Przykładowy adres odniesienia się do usługi to:

https://www.googleapis.com/gmail/v1/users/<userId>/threads

Oczywiście każdy z takich punktów dostępowych przyjmuje wiele parametrów (np. umożliwiających filtrowanie) i wymaga wcześniejszej autoryzacji.

Za pomocą nowego interfejsu można pobierać wiadomości, jak również je wysyłać i zarządzać nimi.

Dane możemy otrzymać w formatach JSON, XML lub specjalnym formacie Google Protobuf. Oznacza to, że jesteśmy w stanie dosłownie w kilku linijkach Javy lub Pythona odwołać się do usługi i otrzymać dane bez specjalnego dodatkowego wysiłku.

email microsoft

Nic nie dzieje się bez przyczyny

Jaka może być motywacja firmy Google w udostępnieniu REST API dla usługi, która tradycyjnie jest dostępna przez inne rodzaje protokołów? Na wielu technologicznych blogach pojawiły się komentarze na ten temat. Niektórzy widzą w tym chęć udostępnienia całości usług dla programistów w jednolitym API (dostępnych jest kilkadziesiąt innych API typu dane z YouTube czy Analytics).

Nie brak jednak również wśród domysłów koncepcji rodem z teorii spiskowych. I podejrzeń, że Google chce w ogóle wyłączyć serwery pocztowe działające na MAPI (lub zrobić je płatnymi) i zmusić użytkowników do wejścia na stronę WWW Gmaila i zobaczenie reklamy. Moim zdaniem jest to podejrzenie nieuzasadnione. Przecież nie zamykaliby wtedy jednej furtki, równocześnie otwierając inną.

Ja podejrzewam wpływ konkurencji i fakt, że Microsoft potrafił udostępnić podobne funkcje dla swoich serwerów Exchange. Google konkuruje z Microsoftem (Azure) i Amazonem na polu usług dla programistów w chmurze i chciał wytrącić im ewentualny argument z ręki.

Co to oznacza dla zwykłego użytkownika?

Prawdopodobnie dzięki temu w najbliższym czasie pojawią się aplikacje na wszystkie platformy – również Web – które korzystają z nowego API. Stanie się tak dlatego, że usługi typu REST są dostępne z dowolnej platformy zdolnej do wywoływania metod GET, POST etc protokołu HTTP. Czyli innymi słowy – praktycznie z dowolnej istniejącej platformy.

Zastosowania jakie znajdą programiści dla nowego API zależą już od ich wyobraźni. Na pewno pojawią się aplikacje analizujące nasze dane, pomagające w zarządzaniu pocztą, jak również alternatywne do webowego Gmaila programy klienckie.

Źródło: Google Appls Developers Blog

Dołącz do dyskusji