Häufig gestellte Fragen

    Übersicht

  1. Was ist eine Google Data API?
  2. Ich habe eine Funktionsanfrage oder einen Fehlerbericht. Wo sollte ich posten?
  3. Wo sollte ich eine Frage zu einer bestimmten API stellen?
  4. Was ist JSON?
  5. Muss ich XML verwenden? Sind weitere Datenformate verfügbar?
  6. Warum verwenden Sie REST?
  7. Haben Sie Tipps oder einen kurzen Beispielcode für häufige Probleme?
  8. Verfügt Gmail über eine Data API?
  9. Authentifizierung

  10. Wie lautet der Dienstname in ClientLogin für jede Data API?
  11. Wenn ein Nutzer sich von einer Anwendung abmeldet, müssen die API-Server informiert werden?
  12. Hat ein ClientLogin-Authentifizierungstoken ein Ablaufdatum?
  13. Ich habe eine allgemeine Frage zu Google-Konten. Was kann ich tun?
  14. Wie kann ich mich bei einer API authentifizieren?
  15. Welchen Wert sollte ich für den Bereichsparameter AuthSub/OAuth 1 verwenden?
  16. Gibt es verschiedene Arten von AuthSub-Tokens? Laufen die Tokens ab?
  17. Was ist der Hauptunterschied zwischen ClientLogin und AuthSub/OAuth 1?
  18. Kann ich die ClientLogin-Authentifizierung in Webanwendungen von Drittanbietern verwenden?
  19. Was ist ein CAPTCHA?
  20. Wie erstelle ich eine CAPTCHA-Abfrage?
  21. Soll ich ClientLogin in meiner Webanwendung verwenden?
  22. Wie finde ich den Nutzernamen des Nutzers heraus, wenn ich AuthSub/OAuth 1 verwende?
  23. Wie verwende ich OAuth 1 mit den Google Data API-Clientbibliotheken?
  24. Wie verwende ich AuthSub mit den Clientbibliotheken der Google Data API?
  25. Wie verwende ich ClientLogin mit den Clientbibliotheken der Google Data API?
  26. Clientbibliotheken

  27. Welche Programmiersprachen werden von Google mit Clientbibliotheken unterstützt?
  28. Wie melde ich einen Fehler oder eine Funktionsanfrage für eine der Google Data-Clientbibliotheken?
  29. Wie aktiviere ich Debugging-Optionen in den Clientbibliotheken?
  30. Wo finde ich Referenzdokumente für die Clientbibliotheksklassen?
  31. Fehlerbehebung

  32. Welche guten Tools gibt es für das HTTP-Debugging?
  33. Wie erhalte ich HTTP-Logging-Informationen in der Java-Clientbibliothek?
  34. Wie erhalte ich HTTP-Logging-Informationen in der .NET-Clientbibliothek?
  35. Wie kann ich die gzip-Codierung über Google Data-Feeds aktivieren?
  36. Warum wird die Fehlermeldung „Verbindung zu sslv2 nicht möglich“ angezeigt, wenn der PHP-Client verwendet wird?
  37. Wie erhalte ich das Atom-Dienstdokument, das einen Feed beschreibt?

Übersicht

Was ist eine Google Data API?

Eine Google Data API ist eine API, die auf dem Google-Datenprotokoll basiert. Das Google-Datenprotokoll basiert auf den Syndikationsformaten Atom 1.0 und RSS 2.0 sowie auf dem Atom Publishing Protocol (APP).

Das Google-Datenprotokoll erweitert diese Standards auf verschiedene Arten mit den in den Standards integrierten Erweiterungsmechanismen. Feeds entsprechen entweder den Atom- oder RSS-Syndikationsformaten. Das Veröffentlichungsmodell entspricht dem Atom Publishing Protocol.

Das Protokoll bietet auch ein allgemeines Modell für Feeds, Abfragen und Ergebnisse. Sie können damit Abfragen und Aktualisierungen an eine beliebige Data API senden.

Ich habe eine Funktionsanfrage oder einen Fehlerbericht. Wo sollte ich posten?
Weitere Informationen finden Sie in der Problemverfolgung. Suchen Sie nach Ihrer Funktionsanfrage und markieren Sie sie, um den Support hinzuzufügen und Updates zum Status zu erhalten.
Wo sollte ich eine Frage zu einer bestimmten API stellen?
Wenn Ihr Problem hier nicht aufgeführt ist oder Sie weitere Erläuterungen benötigen, gibt es für jede Google Data API eine eigene Diskussionsgruppe:
Was ist JSON?

JSON bezieht sich auf JavaScript Object Notation.

JSON ist ein schlankes Format für den Datenaustausch, dessen Einfachheit bei vielen Webentwicklern Anwendung findet. Sie ist leicht zu lesen und zu schreiben. Sie können sie mit jeder Programmiersprache parsen und ihre Strukturen werden direkt den Datenstrukturen zugeordnet, die in den meisten Programmiersprachen verwendet werden.

Weitere Informationen zur Verwendung von JSON mit den Google Data APIs

Muss ich XML verwenden? Sind weitere Datenformate verfügbar?
Das Standarddatenformat für die Google Data APIs ist XML in Form eines Atom-Feeds. Wenn Sie jedoch einen Feed anfordern, können Sie mit dem Abfrageparameter alt ein alternatives Format angeben.
  • alt=rss
    Die Antwortdaten werden als RSS-Feed formatiert.
  • alt=json oder alt=json-in-script
    Gibt eine JSON-Darstellung der XML-Struktur des Atom-Feeds zurück. Ein weiterer Vorteil von JSON besteht darin, dass das Parsen von JavaScript-Clientcode einfacher ist. Derzeit ist JSON nur als schreibgeschützte Option verfügbar. Wenn Sie jedoch die JavaScript-Clientbibliothek mit Blogger, Kontakte oder Kalender verwenden, können Sie Daten sowohl lesen als auch schreiben.

    Weitere Informationen zum Anfordern und Verwenden von JSON-Feeds

  • alt=atom-in-script
    Ähnlich wie alt=json-in-script, aber die Ergebnisse werden als Atom-XML-String statt in JSON zurückgegeben.
  • alt=rss-in-script
    Ähnlich wie alt=atom-in-script, aber die Ergebnisse werden als RSS-XML-String statt als Atom zurückgegeben.

Weitere Informationen zu den alternativen Formaten finden Sie im Referenzhandbuch für Google-Daten.

Warum verwenden Sie REST?
REST ist eine einfache, schlanke, skalierbare Lösung, die sich gut zur Darstellung und Darstellung von Daten eignet.
Haben Sie Tipps oder einen kurzen Beispielcode für häufige Probleme?
Im Blog der Google Data API-Tipps finden Sie Informationen zu unseren Clientbibliotheken und den Anfragen zu Rohdaten.
Hat Gmail eine Daten-API?

Nein, aber du kannst den Atom-Feed von Gmail mit AuthSub oder OAuth 1 verwenden, um Lesezugriff auf die ungelesenen Nachrichten eines Nutzers anzufordern. Der Bereich sollte auf https://mail.google.com/mail/feed/atom/ gesetzt sein. Beispielabfrage:

GET https://mail.google.com/mail/feed/atom/

Wenn Sie Ihre E-Mails verwalten möchten, bietet Gmail auch einen IMAP-/POP-Support.


Authentifizierung

In der Dokumentation zu Google Data APIs bezieht sich „OAuth“ auf OAuth 1. Weitere Informationen zu OAuth 2.0 finden Sie in der Dokumentation der jeweiligen API.

Wie lautet der Dienstname in ClientLogin für jede Data API?
Ein „Dienstname“ ist ein kurzer String, mit dem das ClientLogin-Authentifizierungssystem einen Google-Dienst identifiziert.
Google API Dienstname
Google Analytics-Daten-APIs analytics
G Suite APIs
(Domaininformationen und Verwaltung)
apps
Google Sites-Daten-API jotspot
Blogger-Daten-API blogger
Book Search Data-API print
Kalender-Daten-API cl
Daten-API für die Google Codesuche codesearch
Kontakte-Daten-API cp
Content API for Shopping structuredcontent
Documents List-Daten-API writely
Finanzen-Daten-API finance
Gmail-Atom-Feed mail
Health Data API health
weaver (H9-Sandbox)
Maps Data APIs local
Daten-API für Picasa-Webalben lh2
Sidewiki-Daten-API annotateweb
API für Tabellendaten wise
Search Console sitemaps
YouTube Data API youtube

Weitere Informationen zu den anderen Parametern, die in einer ClientLogin-Anfrage verwendet werden, finden Sie in der Dokumentation zu ClientLogin.

Müssen Nutzer die API-Server informieren, wenn sie sich von einer Anwendung abmelden?
Nein, die Google Data API muss nicht angegeben werden, wenn sich ein Nutzer von einer Anwendung abmeldet. Wenn Ihre Anwendung jedoch kein ausgestelltes AuthSub-Token mehr verwenden muss, sollte es das Token widerrufen.
Hat ein ClientLogin-Authentifizierungstoken ein Ablaufdatum?
Ein ClientLogin-Token kann ab dem Ausstellungsdatum zwei Wochen lang gültig sein. Dieses Limit ist jedoch dienstspezifisch und kann kürzer sein.
Ich habe eine allgemeine Frage zu Google-Konten. Wo kann ich hingehen?
Weitere Informationen findest du in der Google Konten-Hilfe.
Wie kann ich mich bei einer API authentifizieren?
Ihre HTTP-Anfrage muss einen Autorisierungsheader mit einem Token enthalten, das Sie über ClientLogin, AuthSub oder OAuth 1 erhalten.
Welchen Wert sollte ich für den Bereichsparameter AuthSub/Oauth 1 verwenden?
Authentifizierungsparameter scope sind für AuthSub und OAuth 1 erforderlich, um zu ermitteln, auf welche Google-Dienste Ihre Anwendung zugreifen kann. Weitere Informationen zu OAuth 2.0 finden Sie in der Dokumentation der jeweiligen API.

Google API Name des ClientLogin-Dienstes
Google Analytics Data API https://www.google.com/analytics/feeds/
Google Sites-Daten-API http(s)://sites.google.com/feeds/
Blogger-Daten-API http://www.blogger.com/feeds/
Book Search Data-API http://www.google.com/books/feeds/
Kalender-Daten-API http(s)://www.google.com/calendar/feeds/
Kontakte-Daten-API http(s)://www.google.com/m8/feeds/
Content API for Shopping https://www.googleapis.com/auth/structuredcontent
Documents List-Daten-API http(s)://docs.google.com/feeds/
Finanzen-Daten-API http://finance.google.com/finance/feeds/
Gmail-Atom-Feed https://mail.google.com/mail/feed/atom/
Health Data API https://www.google.com/health/feeds/
https://www.google.com/h9/feeds/ (H9-Sandbox)
Google Maps Data API http://maps.google.com/maps/feeds/
Daten-API für Picasa-Webalben http://picasaweb.google.com/data/
Portable Contacts API http://www-opensocial.googleusercontent.com/api/people
Sidewiki-Daten-API http://www.google.com/sidewiki/feeds/
API für Tabellendaten http(s)://spreadsheets.google.com/feeds/
Search Console http://www.google.com/webmasters/tools/feeds/
YouTube Data API http://gdata.youtube.com
Gibt es verschiedene Arten von AuthSub-Tokens? Laufen die Tokens ab?
Es gibt zwei Arten von AuthSub-Tokens. Das erste ist ein Einweg-Token, das Ihrer Webanwendung über den Abfrageparameter „token“ angezeigt wird. Dieses Token läuft ab, wenn es zum ersten Mal mit dem Dienst verwendet wird, für den es ausgestellt wurde, oder wenn es gegen ein Sitzungstoken eingetauscht wird.

Sitzungstokens laufen nicht ab, es sei denn, sie werden ausdrücklich über den Nutzer oder den API-Aufruf AuthSubRevokeToken widerrufen. Ein einmal verwendbares Token kann nur gegen ein Sitzungstoken ausgetauscht werden, wenn die ursprüngliche AuthSubRequest-URL session=1 als Abfrageparameter angegeben hat.
Was ist der Hauptunterschied zwischen ClientLogin und AuthSub/OAuth 1?

AuthSub wurde für Webanwendungen entwickelt. Dadurch wird sichergestellt, dass Nutzeranmeldedaten direkt vom Webbrowser eines Nutzers an die Server von Google und nicht über die Website eines Drittanbieters gesendet werden.

ClientLogin ist für installierte Desktopanwendungen gedacht. Sie setzt voraus, dass die anfragende Anwendung Nutzeranmeldedaten im Namen des Nutzers an Google überträgt.

Weitere Informationen finden Sie in der Dokumentation zur Google Account Authentication API.

Kann ich die ClientLogin-Authentifizierung in Webanwendungen von Drittanbietern verwenden?
ClientLogin in Drittanbieter-Webanwendungen ist zulässig, wird aber dringend empfohlen. Als Best Practice sollte die Webanwendung Nutzer nie nach ihren Anmeldedaten fragen, da dies anfällig für Spionage ist. Stattdessen sollte eine Anwendung die Anmeldedaten des Nutzers serverseitig speichern und ein einzelnes Dienstkonto haben, das immer zur Authentifizierung bei Google verwendet wird.
Was ist ein CAPTCHA?
Ein CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) ist eine Art von Challenge-Antwort-Test, mit dem ermittelt wird, ob der Nutzer ein Mensch ist. Der Begriff wird von der Carnegie Mellon University markenrechtlich geschützt. Weitere Informationen finden Sie auf Wikipedia. Wir haben CAPTCHA in ClientLogin implementiert.
Wie erstelle ich eine CAPTCHA-Abfrage?
Anhand eines proprietären Algorithmus wird ermittelt, wann eine CAPTCHA-Abfrage bei der Authentifizierung erforderlich ist. Wiederholte Authentifizierungsversuche mit falschen Anmeldedaten führen häufig zu einer CAPTCHA-Abfrage.
Sollte ich ClientLogin in meiner Webanwendung verwenden?
Nein, ClientLogin sollte von installierten Apps auf nutzereigener Hardware verwendet werden. Die Verwendung der ClientLogin API in Webanwendungen ist nicht sicher und wird dringend empfohlen.
Wie finde ich den Nutzernamen des Nutzers heraus, wenn ich AuthSub/OAuth 1 verwende?
Da du nur ein Token von Google erhältst, das Zugriff auf die Feeds des Nutzers gewährt, weißt du möglicherweise nicht, welchen Nutzernamen er hat. Das kann zu einem Problem werden, wenn die von dir verwendete Feed-URL den Nutzernamen enthält. In diesem Fall kannst du mit dem speziellen Nutzernamen default den Nutzer angeben, dessen Authentifizierungstoken ich verwende.
Wie verwende ich OAuth 1 mit den Google Data API-Clientbibliotheken?
Weitere Informationen finden Sie im Artikel OAuth 1 mit den Google Data API-Clientbibliotheken verwenden.
Wie verwende ich AuthSub mit den Clientbibliotheken der Google Data API?
Weitere Informationen finden Sie im Artikel AuthSub mit den Clientbibliotheken der Google Data API verwenden.
Wie verwende ich ClientLogin mit den Google Data API-Clientbibliotheken?
Weitere Informationen finden Sie im Artikel ClientLogin mit den Google Data API-Clientbibliotheken verwenden.

Clientbibliotheken

Welche Programmiersprachen werden von Google mit Clientbibliotheken unterstützt?

Die Clientbibliotheken Java, .NET, Python und Objective-C werden offiziell von Google unterstützt. Darüber hinaus hat unser Partner Zend eine PHP-Clientbibliothek geschrieben. Mit diesen Bibliotheken können Sie Google Data-Protokollanfragen erstellen, an einen Dienst senden und Serverantworten verarbeiten. Außerdem gibt es eine JavaScript-Clientbibliothek, die derzeit nur Blogger, Kalender und Google Kontakte unterstützt.

Wenn Sie eine Clientbibliothek in einer anderen Sprache als Java, .Net, Python oder Objective-C schreiben und Daten mit der Data API-Entwickler-Community teilen möchten, schreiben Sie einen Beitrag in der Diskussionsgruppe für Google Data APIs. Wir freuen uns immer über Feedback.

Wie melde ich einen Fehler oder eine Funktionsanfrage für eine der Clientbibliotheken?

Fehler oder Funktionsanfragen für die Clientbibliotheken können an folgenden Stellen gemeldet werden:

Nachdem Sie den Fehler gepostet haben, erstellen Sie einen Thread im Entwicklerforum für die entsprechende API.

Wie aktiviere ich Debugging-Optionen in den Google Data API-Clientbibliotheken?
Informationen zum Aktivieren der Fehlerbehebung mit einigen Clientbibliotheken finden Sie unter Fehlerbehebung bei Google Data API-Clients: Traffic innerhalb Ihres Programms untersuchen
.
Wo finde ich Referenzdokumente für die Clientbibliotheksklassen?
Clientbibliothek Referenzleitfaden
Java JavaDoc
JavaScript JSDoc
.NET NDoc
PHP phpDoc
Python PyDoc

Fehlerbehebung

Welche Tools gibt es für das HTTP-Debugging?

Unten findest du eine Reihe von Tools. Es empfiehlt sich aber auch, den Artikel On the Wire: Network Capture Tools for API Developers zu lesen, in dem sowohl WireShark als auch Fiddler detailliert beschrieben werden.

Wireshark
Wireshark ist ein „Network Protocol Analyzer“. Es bietet die Möglichkeit, den Netzwerkverkehr zu erfassen und den Inhalt zu analysieren. Dies ist sehr nützlich beim Debugging des Traffics in Bibliotheken, in denen Sie keinen direkten Zugriff auf die HTTP-Anfrage- und -Antwortstreams haben. Der Traffic zwischen Ihrer Anwendung und den Authentifizierungsdiensten kann nicht mit Wireshark analysiert werden, da die Kommunikation mit SSL verschlüsselt ist. Wireshark kann auch verwendet werden, um den Traffic zu analysieren, der mit Tools wie „tcpdump“ erfasst wurde. Wireshark ist von den Entwicklern als Quellcode und als Windows-Installationsprogramm erhältlich. Drittanbieterpakete sind für viele Plattformen verfügbar.
Fiddler
Fiddler ist ein „HTTP-Debugging-Proxy“. Wenn Sie Ihren Code oder Ihre Laufzeitumgebung für die Verwendung eines Proxyservers für HTTP-Traffic konfigurieren, befindet sich Fiddler zwischen Ihrer Anwendung und Google Data-Diensten, wo Sie den Traffic prüfen können. Fiddler 2 unterstützt SSL. Fiddler ist derzeit nur für Windows verfügbar.
cURL
cURL ist ein Befehlszeilentool, das HTTP-/HTTPS-Anfragen ausführen kann. Sie eignet sich für das schnelle Testen von Interaktionen mit einem Dienst, ohne dass zuvor HTTP-Support in Ihrem Client erstellt werden muss.
Wie erhalte ich HTTP-Logging-Informationen in der Java-Clientbibliothek?

Die Java-Clientbibliotheken verwenden das Paket java.util.logging, um das Logging von HTTP-Anfragen zu aktivieren. Dadurch können Sie das Logging von Headern für Anfragen und Antworten sowie Statuscodes und Anfrage-URLs aktivieren. Derzeit werden nicht die vollständigen Anfrage- und Antwortstreams protokolliert. Der für diese Logs verwendete Logger-Name ist com.google.gdata.client.http.HttpGDataRequest.

Für den Fall, dass von den Servern ein Fehlercode zurückgegeben wird, wird eine Ausnahme ausgelöst. Die Ausnahmeklassen werden von com.google.gdata.util.ServiceException übernommen und enthalten eine öffentliche Methode mit dem Namen getResponseBody(). Weitere Informationen finden Sie in der Javadoc-Dokumentation.

Wie erhalte ich HTTP-Logging-Informationen in der .NET-Clientbibliothek?
Die .NET-Bibliothek verwendet die Tracing-Methoden von System.Diagnostics, um den Pfad der Ausführung zu protokollieren, wenn Tracing aktiviert ist. Außerdem wird im Fehlerfall ein GDataRequestException ausgelöst. Die Ausnahme enthält eine ResponseString, mit der Sie auf den Text der HTTP-Antwort zugreifen können.
Wie kann ich die gzip-Codierung über Google Data-Feeds aktivieren?

Damit Sie von einer der Google Data APIs eine gzip-codierte Antwort erhalten, müssen Sie zwei Dinge tun: Legen Sie einen Header „Accept-Encoding“ fest und ändern Sie den User-Agent so, dass er den String „gzip“ enthält. Hier ein Beispiel für korrekt formatierte Header:

User-Agent: my program (gzip)
Accept-Encoding: gzip
Warum wird die Fehlermeldung „Es kann keine Verbindung zu sslv2 hergestellt werden“ angezeigt, wenn ich den PHP-Client verwende?

Seit Juli 2009 deaktivieren wir sicherheitshalber SSLv2 auf unseren Servern, um die Sicherheit zu verbessern. Leider gibt es einen Fehler in frühen Versionen der PHP-Clientbibliothek, die vor Juli 2007 (Version 1.0.0 und früher) veröffentlicht wurde und Verbindungen zur Verwendung von SSLv2 erzwingt. Beim Herstellen einer Verbindung zu einem Server, für den SSLv2 deaktiviert ist, wird der folgende Fehler ausgegeben:

PHP Fatal error:  Uncaught exception 'Zend_Http_Client_Adapter_Exception' with message 'Unable to Connect to sslv2://www.google.com:443.'

Führen Sie ein Upgrade auf eine neuere Version der PHP-Clientbibliothek unter http://framework.zend.com/download aus, um diesen Fehler zu beheben.

Wenn Sie kein Upgrade auf eine neuere Version ausführen können, fügen Sie Ihrer Anwendung den folgenden Code hinzu, wobei $gdata die vorhandene Instanz von Zend_Gdata (oder der entsprechenden Unterklasse) ist:

$gdata->getHttpClient()->setConfig(array('ssltransport' => 'ssl'));
Wie erhalte ich das Atom-Dienstdokument, das einen Feed beschreibt?

Sie können das Atom-Dienstdokument abrufen, indem Sie den Parameter alt=atom-service in der Anfrage übergeben. Hinweis: Nur Version 2 der Google Data APIs gibt ein Dienstdokument zurück, das der AtomPub-Dienstdokument-Syntax entspricht. Version 1 der Google Data APIs gibt weiterhin ein Dienstdokument zurück, basiert jedoch auf einer früheren AtomPub-Entwurfsspezifikation. Zwischen den beiden Versionen wurden Syntax- und Namespace-Änderungen vorgenommen.