- Co to jest interfejs Google Data API?
- Mam prośbę o dodanie funkcji lub zgłoszenie błędu. Gdzie publikować posty?
- Gdzie należy zadawać pytania dotyczące konkretnego interfejsu API?
- Co to jest JSON?
- Czy muszę używać plików XML? Czy są dostępne inne formaty danych?
- Dlaczego korzystasz z REST?
- Czy masz jakieś wskazówki lub krótki przykładowy kod, które pomogą Ci rozwiązać typowe problemy?
- Czy Gmail ma interfejs Data API?
- Jaka jest nazwa usługi w ClientClient dla każdego interfejsu Data API?
- Czy użytkownik musi wylogować się z aplikacji z interfejsu API?
- Czy token uwierzytelniania ClientLogin ma datę ważności?
- Mam ogólne pytanie na temat kont Google. Co mam zrobić?
- Jak uwierzytelniać się w interfejsie API?
- Jaką wartość mam zastosować jako parametr zakresu AuthSub/OAuth 1?
- Czy istnieją różne typy tokenów AuthSub? Czy tokeny tracą ważność?
- Jaka jest główna różnica między ClientLogin a AuthSub/OAuth 1?
- Czy mogę używać uwierzytelniania ClientLogin w aplikacjach internetowych innych firm?
- Co to jest CAPTCHA?
- Jak wygenerować test CAPTCHA?
- Czy mam używać ClientLogin w mojej aplikacji internetowej?
- Jak sprawdzić nazwę użytkownika w przypadku korzystania z AuthSub/OAuth 1?
- Jak używać protokołu OAuth 1 z bibliotekami klienta interfejsu Google Data API?
- Jak używać AuthSub z bibliotekami klienta Google Data API?
- Jak korzystać z ClientLogin z bibliotekami klienta Google Data API?
- W jakich językach programowania Google obsługuje biblioteki klienta?
- Jak zgłosić błąd lub prośbę o dodanie funkcji jednej z bibliotek klienta Google Data?
- Jak włączyć opcje debugowania w bibliotekach klienta?
- Gdzie znajdę dokumenty referencyjne do zajęć w bibliotece klienta?
- Jakie są dobre narzędzia do debugowania stron HTTP?
- Jak uzyskać informacje o logach HTTP z biblioteki klienta w języku Java?
- Jak uzyskać informacje o logach HTTP z biblioteki klienta .NET?
- Jak włączyć kodowanie gzip z plików danych Google?
- Dlaczego podczas korzystania z klienta PHP widzę błąd „Nie można połączyć się z protokołem sslv2”?
- Jak uzyskać dokument usługi Atom opisujący kanał?
Omówienie
Uwierzytelnianie
Biblioteki klienta
Rozwiązywanie problemów
Omówienie
- Co to jest interfejs Google Data API?
-
Interfejs Google Data API to interfejs oparty na protokole Google Data. Protokół danych Google jest oparty na formatach dystrybucji Atom 1.0 i RSS 2.0 oraz protokole Atom.
Protokół Google Data rozszerza te standardy na różne sposoby, korzystając z wbudowanych w nich mechanizmów rozszerzeń. Kanały są zgodne z formatami dystrybucji Atom lub RSS. Model publikowania jest zgodny z protokołem Atom Publishing.
Protokół oferuje też ogólny model kanałów, zapytań i wyników. Możesz go używać do wysyłania zapytań i aktualizacji do dowolnego interfejsu Data API.
- Chcę poprosić o dodanie funkcji lub zgłosić błąd. Gdzie należy to opublikować?
- Użyj naszego narzędzia do śledzenia problemów. Odszukaj prośbę o dodanie funkcji i oznacz ją gwiazdką, aby dodać wsparcie i otrzymywać informacje o jej stanie.
- Gdzie zadaję pytanie dotyczące konkretnego interfejsu API?
- Jeśli Twojego problemu nie ma na liście lub chcesz dowiedzieć się więcej, znajdziesz osobne grupy dyskusyjne dla każdego interfejsu Google Data API:
- G Suite (zobacz poszczególne interfejsy API w rodzinie G Suite)
- Base
- Blogger
- Kalendarz
- Wyszukiwanie kodu
- Kontakty
- Witryny Google
- Arkusze kalkulacyjne
- Lista dokumentów
- Logowanie sfederowane / OpenID
- Finanse
- Zdrowie
- Usługa Picasa Web Albums
- Narzędzia dla webmasterów
- YouTube
- Co to jest JSON?
-
JSON odnosi się do notacji obiektu JavaScript.
JSON to prosty format wymiany danych, który jest łatwy w użyciu i popularny wśród programistów internetowych. Można je łatwo czytać i pisać. Można je analizować za pomocą dowolnego języka programowania, a ich struktury mapują bezpośrednio na struktury danych używane w większości języków programowania.
Dowiedz się więcej o używaniu JSON w interfejsach Google Data API.
- Czy muszę używać plików XML? Czy są dostępne inne formaty danych?
- Domyślny format danych dla interfejsów API danych Google to XML w postaci kanału Atom. W żądaniu pliku danych możesz jednak określić alternatywny format, używając parametru zapytania
alt
.-
alt=rss
Dane odpowiedzi są sformatowane jako kanał RSS. -
alt=json
lubalt=json-in-script
zwraca JSON w formacie XML pliku danych Atom. Dodatkową zaletą formatu JSON jest to, że ułatwia on „analizę” kodu klienta JavaScript. Obecnie format JSON jest dostępny tylko do odczytu. Jednak korzystanie z biblioteki klienta JavaScript w usługach Blogger, Kontakty i Kalendarz pozwala na odczyt i zapis danych.Dowiedz się więcej o wysyłaniu prośby o pliki danych JSON i korzystaniu z nich.
-
alt=atom-in-script
Podobne doalt=json-in-script
, ale wyniki są zwracane w postaci ciągu XML Atom zamiast JSON. -
alt=rss-in-script
Podobne doalt=atom-in-script
, ale wyniki są zwracane jako ciąg znaków XML RSS, a nie Atom.
Więcej informacji o formatach alternatywnych znajdziesz w Przewodniku po danych Google.
-
- Dlaczego korzystasz z REST?
- REST jest proste, lekkie i skalowalne, dobrze mapuje się i udostępnia dane.
- Czy masz jakieś wskazówki lub krótki przykładowy kod, które pomogą Ci rozwiązać typowe problemy?
- Przejrzyj bloga o interfejsie Google Data API, aby uzyskać pomoc dotyczącą naszych bibliotek klientów oraz przesyłania nieprzetworzonych żądań.
- Czy Gmail ma interfejs Data API?
-
Nie, ale za pomocą kanału Atom w Gmailu za pomocą AuthSub lub OAuth 1 możesz prosić o dostęp tylko do odczytu do nieprzeczytanych wiadomości użytkownika. Zakres powinien być ustawiony na
https://mail.google.com/mail/feed/atom/
. Przykładowe zapytanie:GET https://mail.google.com/mail/feed/atom/
Jeśli chcesz zarządzać pocztą, Gmail obsługuje też IMAP/POP.
- Jaka jest nazwa usługi w ClientLogin dla każdego interfejsu Data API?
- „Nazwa usługi” to krótki ciąg znaków, którego system uwierzytelniania ClientLogin używa do identyfikowania usługi Google.
Interfejs API Google Nazwa usługi Interfejsy API danych Google Analytics analytics
Interfejsy API G Suite
(Informacje o domenie i zarządzanie)apps
Interfejs API danych Witryn Google jotspot
Interfejs API danych Bloggera blogger
Interfejs API danych Book Search print
Interfejs API danych Kalendarza cl
Interfejs API danych Google Search Search codesearch
Interfejs API kontaktów cp
Content API for Shopping structuredcontent
Interfejs API danych listy dokumentów writely
Interfejs API danych Finance finance
Kanał Atom w Gmailu mail
Health Data API, health
weaver
(piaskownica H9)Interfejsy API danych danych Map local
Interfejs API danych usługi Picasa Web Albums lh2
Interfejs API danych GCLID annotateweb
Interfejs API danych arkuszy kalkulacyjnych wise
Interfejs API Narzędzi dla webmasterów sitemaps
YouTube Data API youtube
Więcej informacji o innych parametrach używanych w żądaniu ClientLogin znajdziesz w dokumentacji ClientLogin.
- Czy użytkownik, który wyloguje się z aplikacji, musi poinformować serwery API?
- Nie, nie musisz informować Google Data API o wylogowaniu się użytkownika. Jeśli jednak aplikacja nie musi już używać wydanego tokena AuthSub, powinna ona unieważnić token.
- Czy token uwierzytelniania ClientLogin ma datę ważności?
- Token ClientLogin może być ważny przez 2 tygodnie od daty wystawienia, ale ten limit jest związany z usługą i może być krótszy.
- Mam ogólne pytanie na temat kont Google. Co mam zrobić?
- Odwiedź Centrum pomocy kont Google.
- Żądanie HTTP musi zawierać nagłówek autoryzacji zawierający token uzyskany przy użyciu parametru ClientLogin, AuthSub lub OAuth 1.
- Jaką wartość parametru parametru AuthSub/Oauth 1 należy stosować?
- Uwierzytelnianie AuthSub i OAuth 1 wymaga parametru
scope
do określenia, do których usług Google będzie miała dostęp Twoja aplikacja. Szczegóły protokołu OAuth 2.0 znajdziesz w dokumentacji konkretnego interfejsu API.Interfejs API Google Nazwa usługi ClientLogin Google Analytics Data API https://www.google.com/analytics/feeds/
Interfejs API danych Witryn Google http(s)://sites.google.com/feeds/
Interfejs API danych Bloggera http://www.blogger.com/feeds/
Interfejs API danych Book Search http://www.google.com/books/feeds/
Interfejs API danych Kalendarza http(s)://www.google.com/calendar/feeds/
Interfejs API kontaktów http(s)://www.google.com/m8/feeds/
Content API for Shopping https://www.googleapis.com/auth/structuredcontent
Interfejs API danych listy dokumentów http(s)://docs.google.com/feeds/
Interfejs API danych Finance http://finance.google.com/finance/feeds/
Kanał Atom w Gmailu https://mail.google.com/mail/feed/atom/
Health Data API, https://www.google.com/health/feeds/
https://www.google.com/h9/feeds/
(piaskownica H9)Interfejs API danych Map Google http://maps.google.com/maps/feeds/
Interfejs API danych usługi Picasa Web Albums http://picasaweb.google.com/data/
Interfejs przenośny kontaktów http://www-opensocial.googleusercontent.com/api/people
Interfejs API danych GCLID http://www.google.com/sidewiki/feeds/
Interfejs API danych arkuszy kalkulacyjnych http(s)://spreadsheets.google.com/feeds/
Interfejs API Narzędzi dla webmasterów http://www.google.com/webmasters/tools/feeds/
YouTube Data API http://gdata.youtube.com
- Czy są różne typy tokenów AuthSub? Czy tokeny tracą ważność?
- Dostępne są 2 typy tokenów AuthSub. Pierwszy to token jednorazowy wyświetlany Twojej aplikacji internetowej za pomocą parametru zapytania „token”. Ten token wygaśnie po pierwszym użyciu go w usłudze, dla której został wystawiony, lub podczas wymiany na token sesji.
Tokeny sesji nie wygasają, chyba że token zostanie unieważniony przez użytkownika lub wywołanie interfejsu APIAuthSubRevokeToken
. Tokenu jednorazowego można używać w przypadku tokena sesji tylko wtedy, gdy pierwotny URLAuthSubRequest
został określony jako parametr zapytaniasession=1
. - Jaka jest główna różnica między ClientLogin a AuthSub/OAuth 1?
-
Protokół AuthSub jest przeznaczony do aplikacji internetowych. Zapewnia to bezpieczne przesyłanie danych logowania użytkownika bezpośrednio z przeglądarki na serwery Google zamiast do witryny innej firmy.
ClientLogin dotyczy zainstalowanych aplikacji komputerowych. Wymaga ona, aby aplikacja żądała danych logowania użytkownika do Google w imieniu użytkownika.
Zobacz dokumentację dotyczącą interfejsu API uwierzytelniania konta Google.
- Czy mogę używać uwierzytelniania ClientLogin w aplikacjach internetowych innych firm?
- Korzystanie z ClientClient w aplikacjach internetowych innych firm jest dopuszczalne, ale zdecydowanie odradzamy. Zgodnie ze sprawdzoną metodą aplikacja internetowa nie powinna prosić użytkowników o podanie danych logowania (które mogą być narażone na podglądanie). Zamiast tego aplikacja powinna przechowywać dane logowania użytkownika po stronie serwera i mieć jedno „konto usługi”, które jest zawsze używane do uwierzytelniania w Google.
- Co to jest CAPTCHA?
- CAPTCHA (całkowicie zautomatyzowany test publiczny do odróżnienia komputerów i ludzi) to rodzaj testów reakcji użytkowników, który określa, czy użytkownik jest człowiekiem. Termin jest zastrzeżony przez Uniwersytet Carnegie Mellon. Więcej informacji znajdziesz w Wikipedii. Zaimplementowaliśmy CAPTCHA w ClientClient.
- Jak wygenerować test CAPTCHA?
- Zastosowany algorytm służy do określania, kiedy podczas uwierzytelniania wymagane jest zadanie CAPTCHA. Powtarzające się próby uwierzytelniania za pomocą nieprawidłowych danych logowania często generują test CAPTCHA.
- Czy należy używać ClientLogin w mojej aplikacji internetowej?
- Nie. ClientLogin powinien być używany przez zainstalowane aplikacje na sprzęcie należącym do użytkownika. Korzystanie z interfejsu API ClientLogin w aplikacjach internetowych nie jest bezpieczne i zdecydowanie odradzamy.
- Jak sprawdzić nazwę użytkownika w przypadku korzystania z AuthSub/OAuth 1?
- Ponieważ token od Google zapewnia dostęp tylko do kanałów użytkownika, możesz nie znać jego nazwy. Może to powodować problem, jeśli adres URL kanału, którego chcesz użyć, zawiera nazwę użytkownika. W tym przypadku możesz użyć specjalnej nazwy użytkownika
default
, aby wskazać użytkownika, którego tokena uwierzytelniania używam. - Jak używać protokołu OAuth 1 z bibliotekami klienta interfejsu Google Data API?
- Przeczytaj artykuł o używaniu OAuth 1 z bibliotekami klienta interfejsu Google Data API.
- Jak używać AuthSub z bibliotekami klienta Google Data API?
- Przeczytaj artykuł Korzystanie z uwierzytelniania AuthSub w bibliotekach klienta interfejsu Google Data API.
- Jak używać ClientLogin z bibliotekami klienta Google Data API?
- Przeczytaj artykuł Korzystanie z klienta ClientLogin z bibliotekami klienta interfejsu Google Data API.
- W jakich językach programowania Google obsługuje biblioteki klienta?
-
Biblioteki klienta Java, .NET, Python i Goal-C są oficjalnie obsługiwane przez Google. Poza tym nasz partner Zend napisał bibliotekę klienta PHP. Korzystając z tych bibliotek, możesz tworzyć żądania protokołu danych Google, wysyłać je do usługi i przetwarzać odpowiedzi serwera. Dostępna jest też biblioteka klienta JavaScript, która obecnie obsługuje tylko Blogger, Kalendarz i Kontakty Google.
Jeśli piszesz bibliotekę klienta w języku innym niż Java, .Net, Python lub Goal-C i chcesz udostępnić ją społeczności programistów interfejsu Data API, możesz to zrobić na grupie dyskusyjnej dotyczącej interfejsów API danych Google. Chętnie poznamy Twoją opinię.
- Jak zgłosić błąd lub prośbę o dodanie funkcji w jednej z bibliotek klienta?
-
Błędy i prośby o dodanie funkcji dotyczące bibliotek klienta można zgłaszać w tych lokalizacjach:
Po opublikowaniu błędu utwórz wątek na forum dla deweloperów dla odpowiedniego interfejsu API.
- Jak włączyć opcje debugowania w bibliotekach klienta interfejsu Google Data API?
- Aby dowiedzieć się, jak włączyć debugowanie za pomocą niektórych bibliotek klienta, przeczytaj ten artykuł: Debugowanie klientów interfejsu Google Data API: analiza ruchu z Twojego programu
- Gdzie znajdę dokumenty referencyjne do zajęć w bibliotece klienta?
-
Biblioteka klienta Przewodnik informacyjny Java JavaScript JavaScript JSdoc .NET NDoc PHP phpDoc Python PyDoc - Jakie są dobre narzędzia do debugowania stron HTTP?
-
Poniżej znajdziesz listę wielu narzędzi, ale możesz też przeczytać artykuł Przewodni: narzędzia do przechwytywania połączeń sieciowych dla programistów interfejsów API, w których szczegółowo opisujemy zarówno programy WireShark, jak i Fiddler.
- Wireshark
- Wireshark to „narzędzie do analizowania protokołów sieciowych”. Umożliwia przechwytywanie ruchu sieciowego i analizowanie treści. Jest to bardzo przydatne przy debugowaniu ruchu w bibliotekach, w którym nie masz bezpośredniego dostępu do strumieni żądań i odpowiedzi HTTP. Nie można analizować ruchu między aplikacją a usługami uwierzytelniania przy użyciu usługi Wireshark, ponieważ komunikacja jest szyfrowana przy użyciu protokołu SSL. Wireshark może być też używany do analizy ruchu przechwyconego za pomocą narzędzi takich jak tcpdump. Program Wireshark jest dostępny przez programistów zarówno jako kod źródłowy, jak i instalator w systemie Windows. Pakiety innych firm są dostępne na wielu platformach.
- Fiddler
- Fiddler to „serwer proxy debugowania HTTP”. Jeśli możesz skonfigurować kod lub środowisko wykonawcze do używania serwera proxy do obsługi ruchu HTTP, Fiddler będzie utrzymywać połączenie między aplikacją a usługami danych Google, w których będzie można sprawdzać ruch. Fiddler 2 obsługuje protokół SSL. Fiddler jest obecnie dostępny tylko w systemie Windows.
- cURL
- cURL to narzędzie wiersza poleceń, które może wykonywać żądania HTTP/HTTPS. Jest to bardzo przydatne do szybkiego testowania interakcji z usługą bez konieczności wcześniejszego tworzenia obsługi protokołu HTTP w kliencie.
- Jak uzyskać informacje dotyczące logowania HTTP w bibliotece klienta w języku Java?
-
Biblioteki klienta w języku Java korzystają z pakietu
java.util.logging
, aby umożliwiać rejestrowanie żądań HTTP. To umożliwi włączenie rejestrowania nagłówków żądań i odpowiedzi, a także kodów stanu i adresów URL żądań. Nie rejestruje teraz pełnych strumieni żądań i odpowiedzi. Nazwa rejestratora używana w tych logach tocom.google.gdata.client.http.HttpGDataRequest
.W przypadku zwrócenia kodu błędu z serwerów jest zwracany wyjątek. Klasy wyjątków dziedziczą atrybuty
com.google.gdata.util.ServiceException
i zawierają metodę publiczną o nazwiegetResponseBody()
. Więcej informacji znajdziesz w języku Javadoc. - Jak uzyskać informacje dotyczące logowania HTTP z biblioteki klienta .NET?
- Biblioteka .NET korzysta z metod śledzenia
System.Diagnostics
, aby rejestrować ścieżkę wykonania, jeśli śledzenie jest włączone. W przypadku błędu zwracany jestGDataRequestException
. Wyjątek zawiera elementResponseString
, który pozwala uzyskać dostęp do treści odpowiedzi HTTP. - Jak włączyć kodowanie gzip z plików danych Google?
-
Aby odebrać odpowiedź zakodowaną w formacie gzip z jednego z interfejsów API danych Google, musisz zrobić 2 czynności: ustawić nagłówek „Accept-Encoding” i zmodyfikować klienta użytkownika, aby zawierał ciąg „gzip”. Przykład poprawnie sformułowanych nagłówków:
User-Agent: my program (gzip) Accept-Encoding: gzip
- Dlaczego podczas używania klienta PHP widzę błąd „Nie można połączyć się z protokołem sslv2”?
-
Aby poprawić bezpieczeństwo, w lipcu 2009 roku zaczęliśmy wyłączać protokół SSLv2 na naszych serwerach. We wczesnych wersjach biblioteki klienta PHP wprowadzonej przed lipcem 2007 roku (w wersji 1.0.0 i starszych) wystąpił błąd, który wymusza korzystanie z protokołu SSLv2. Podczas nawiązywania połączenia z serwerem, na którym wyłączono protokół SSLv2, występuje następujący błąd:
PHP Fatal error: Uncaught exception 'Zend_Http_Client_Adapter_Exception' with message 'Unable to Connect to sslv2://www.google.com:443.'
Aby naprawić ten błąd, przejdź na nowszą wersję biblioteki klienta w języku PHP, dostępną na http://framework.zend.com/download.
Jeśli nie możesz uaktualnić oprogramowania do nowszej wersji, możesz rozwiązać ten problem, dodając do aplikacji ten kod, w którym
$gdata
jest istniejącym wystąpieniemZend_Gdata
(lub odpowiednią podklasą):$gdata->getHttpClient()->setConfig(array('ssltransport' => 'ssl'));
- Jak pobrać dokument usługi Atom opisujący kanał?
-
Dokument usługi Atom możesz uzyskać, przekazując w żądaniu parametr
alt=atom-service
. Uwaga: tylko wersja 2 interfejsów Google Data API zwróci dokument usługi zgodny ze składnią dokumentu usługi AtomPub. Wersja 1 interfejsów API danych Google nadal będzie zwracać dokument usługi, ale jest on oparty na wcześniejszej specyfikacji roboczej AtomPub (w obu wersjach wprowadzono zmiany w składni i przestrzeni nazw).
Uwierzytelnianie
W dokumentacji interfejsów API danych Google określenie „OAuth” odnosi się do protokołu OAuth 1. Szczegółowe informacje dotyczące protokołu OAuth 2.0 znajdziesz w dokumentacji poszczególnych interfejsów API.