Entwicklerhandbuch: JavaScript

Mit der Blogger Data API können Client-Anwendungen Blogger-Inhalte aufrufen und aktualisieren. in Form von Google Data API-Feeds.

Ihre Client-Anwendung kann mithilfe der Blogger Data API einen neuen Blog erstellen. Posts bearbeiten oder löschen und Blogposts abfragen, die mit der Suchanfrage übereinstimmen. Kriterien erfüllen.

Zusätzlich zu einigen Hintergrundinformationen zu den Funktionen von Blogger Data API enthält, enthält dieses Dokument Beispiele für grundlegende Data API-Interaktionen mithilfe von der JavaScript-Clientbibliothek. Wenn Sie mehr über die Informationen zum zugrunde liegenden Protokoll, das von der Bibliothek verwendet wird, finden Sie im Abschnitt "Protokoll" der dieses Entwicklerhandbuchs.

Inhalt

Zielgruppe

Dieses Dokument richtet sich an Programmierer, die JavaScript-Clientanwendungen schreiben möchten, die mit Blogger interagieren können. Es enthält eine Reihe von Beispielen für grundlegende Daten-API-Interaktionen mit der JavaScript-Clientbibliothek.

Referenzinformationen zur Blogger Data API finden Sie im Referenzhandbuch für Protokolle. Dieses Dokument setzt voraus, dass Sie mit den allgemeinen Konzepten hinter den Google Data APIs vertraut sind. Protokoll sowie das vom JavaScript-Client verwendete Datenmodell und den Kontrollfluss Mediathek. Außerdem sollten Sie mit JavaScript-Programmierkenntnissen vertraut sein.

Referenzinformationen zu den Klassen und Methoden, die von der finden Sie unter JavaScript Client Library API Referenz.

Dieses Dokument sollte in der richtigen Reihenfolge gelesen werden. Jedes Beispiel baut auf früheren Beispielen auf.

Nutzungsbedingungen

Sie erklären sich damit einverstanden, die Nutzungsbedingungen für die JavaScript-Clientbibliothek von Google einzuhalten, wenn Sie die JavaScript-Clientbibliothek verwenden.

Unterstützte Umgebungen

Derzeit werden nur JavaScript-Clientanwendungen unterstützt, die in einer Webseite in einem Browser ausgeführt werden. Derzeit werden Browser Firefox 1.5 und höher unterstützt. Internet Explorer 6.0 und höher

Die JavaScript-Clientbibliothek übernimmt die gesamte Kommunikation mit dem Server des Dienstes. Als erfahrener JS-Entwickler fragen Sie sich vielleicht: „Aber was ist mit der Same-Origin-Richtlinie?“ Mit der JavaScript-Clientbibliothek kann Ihr Client Google Data API-Anfragen von beliebigen Domains unter Einhaltung der Sicherheitsmodell des Browsers.

Erste Schritte

Bevor Sie eine JavaScript-Clientanwendung schreiben können, müssen Sie einige Einstellungen vornehmen, um die Bibliothek zu erhalten.

Erstellen eines Blogger-Kontos

Sie können sich für Testzwecke für ein Blogger-Konto registrieren. Blogger verwendet Google-Konten. Wenn Sie also bereits ein Google-Konto haben, sind Sie startklar.

Bibliothek erwerben

Bevor Ihr Client die Clientbibliothek verwenden kann, muss er das Ereignis Clientbibliothekscode vom Server.

Verwenden Sie zuerst ein <script>-Tag im Bereich <head> Ihres HTML-Dokuments, um den Google AJAX API-Lademechanismus abzurufen:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>

Um die Google Data API-Client-Bibliothek nach dem Abrufen des Loaders zu erhalten, verwenden Sie die folgende Zeile in Ihrem JavaScript-Einrichtungscode, der vom <head>-Abschnitt Ihres HTML-Dokuments (oder aus einem JavaScript-Code die mit einem <script>-Tag im <head>-Abschnitt Ihres HTML-Dokuments):

google.load("gdata", "1.x");

Der zweite Parameter für google.load() ist die angeforderte Versionsnummer der JavaScript-Clientbibliothek.  Unser Versionsnummerierungsschema orientiert sich an dem der Google Maps API. Hier sind die möglichen Versionsnummern und ihre Bedeutung:

"1"
Die vorletzte Hauptversion 1.
"1.x"
Die aktuellste Version der Hauptversion 1.
"1.s"
Die letzte stabile Version der Hauptversion 1. Auf der Grundlage der Rückmeldungen, die wir von Entwicklern enthalten, erklären wir von Zeit zu Zeit eine bestimmte Version der Client-Bibliothek für "stabil,". Möglicherweise enthält diese Version jedoch nicht die neuesten Funktionen.
"1.0", "1.1" usw.
Eine bestimmte Version der Bibliothek mit einer angegebenen Haupt- und Nebenversionsnummer.

Nachdem du google.load() aufgerufen hast, musst du dem Loader mitteilen, dass er warten soll, bis die Seite vollständig geladen ist, und dann deinen Code aufrufen:

google.setOnLoadCallback(getMyBlogFeed);

Dabei ist getMyBlogFeed() eine Funktion, die wir später definieren. dieses Dokuments. Verwenden Sie diesen Ansatz anstelle eines onload-Handler an <body> angehängt -Elements.

Beim Blogger-Dienst authentifizieren

Mit der Blogger Data API können Sie sowohl auf öffentliche als auch auf private Feeds zugreifen. Für öffentliche Feeds ist keine Authentifizierung erforderlich, sie sind jedoch schreibgeschützt. Wenn du Blogs ändern möchtest, muss sich dein Client authentifizieren, bevor er private Feeds anfordert.

Die JavaScript-Clientbibliothek verwendet das AuthSub-Authentifizierungssystem. Weitere Informationen zur Authentifizierung mit Google Data APIs finden Sie in der Dokumentation zur Authentifizierung.

AuthSub-Proxy-Authentifizierung

Die AuthSub-Proxy-Authentifizierung wird von Webanwendungen verwendet, die ihre Nutzer bei Google-Konten zu authentifizieren. Websitebetreiber und die Kundin oder den Kunden keinen Zugriff auf den Nutzernamen und das Passwort für den Blogger-Nutzer hat; Der Client erhält stattdessen spezielle AuthSub-Tokens, mit denen er Aktionen ausführen kann, für einen bestimmten Nutzer.

Hier ist ein kurzer Überblick darüber, was während des Authentifizierungsvorgangs für einem webbasierten JavaScript-Client:

  1. Die Clientanwendung ruft die von der Clientbibliothek bereitgestellte Methode google.accounts.user.login() auf und übergibt ihr einen „scope“-Wert, der angibt, welcher Google-Dienst verwendet werden soll. Für Blogger ist der Bereich "http://www.blogger.com/feeds/".
  2. Die Client-Bibliothek sendet den Browser an die Anforderung" Seite, auf der der Nutzer seine Anmeldedaten eingeben kann, um sich anzumelden. für den Dienst.
  3. Wenn sich der Nutzer erfolgreich anmeldet, sendet das AuthSub-System den Browser zurück zur URL des Webclients und gibt dabei das Authentifizierungstoken weiter.
  4. Die JavaScript-Clientbibliothek speichert das Token in einem Cookie und gibt die Kontrolle an die Funktion der Clientanwendung zurück, die google.accounts.user.login() aufgerufen hat.
  5. Wenn die Clientanwendung anschließend Clientbibliotheksmethoden aufruft, mit Blogger interagieren können, hängt die Client-Bibliothek automatisch das Token an alle Anfragen.

Hinweis: Damit die JavaScript-Clientbibliothek authentifizierten Blogger-Anfragen in einem Webbrowser bestätigt, muss Ihre Seite ein Bild enthalten. die dieselbe Domain wie Ihre Seite hat. Es kann sich um ein beliebiges Bild handeln, auch um ein transparentes Bild mit nur einem Pixel. Es muss jedoch ein Bild auf der Seite vorhanden sein. Wenn Sie Wenn Sie nicht möchten, dass das Bild auf Ihrer Seite erscheint, verwenden Sie den style des <img>-Tags, um das Bild außerhalb des im Rendering-Bereich. Beispiele: style="position:absolute; top: -1000px;"

Hier ist der Code der Clientanwendung, der die Anmeldung verarbeitet. Wir nennen die Funktion setupMyService() aus anderem Code.

function logMeIn() {
  scope = "http://www.blogger.com/feeds/";
  var token = google.accounts.user.login(scope);
}

function setupMyService() {
  var myService =
    new google.gdata.blogger.BloggerService('exampleCo-exampleApp-1');
  logMeIn();
  return myService;
}

Tipp: Wir empfehlen Ihnen dringend, eine Anmeldeschaltfläche oder einen anderen Mechanismus für die Nutzereingabe bereitzustellen, über den Nutzer aufgefordert werden, den Anmeldevorgang manuell zu starten. Wenn Sie google.accounts.user.login() stattdessen direkt nach dem Laden aufrufen, ohne auf eine Nutzerinteraktion zu warten, sieht der Nutzer beim Aufrufen Ihrer Seite zuerst eine Google-Anmeldeseite. Wenn der Nutzer sich nicht anmeldet, kann Google Der Nutzer wird nicht zurück auf Ihre Seite geleitet. Aus der Sicht der Nutzenden haben versucht, Ihre Seite zu besuchen, wurden aber nicht zurückgeschickt. Dieses Szenario kann für Nutzer verwirrend und frustrierend sein. Im Beispielcode in diesem Dokument wird google.accounts.user.login() direkt nach dem Laden aufgerufen, um das Beispiel möglichst einfach zu halten. Wir empfehlen diesen Ansatz jedoch nicht für reale Clientanwendungen.

Sie müssen nichts mit der Variablen namens token tun. Die Clientbibliothek überwacht das Token und Sie müssen nichts weiter tun.

Hinweis: Wenn Sie einen neuen BloggerService erstellen, -Objekt enthält, ruft die Clientbibliothek die Methode google.gdata.client.init(), die prüft, ob der Browser ausgeführt wird, wird unterstützt. Tritt ein Fehler auf, gibt die Clientbibliothek zeigt dem Nutzer eine Fehlermeldung an. Wenn Sie diese Art von Fehler können Sie explizit eine google.gdata.client.init(handleInitError), bevor Sie den erstellen: -Dienst, wobei handleInitError() Ihre Funktion ist. Wenn ein Initialisierungsfehler auftritt, erhält Ihre Funktion ein Standard-Fehlerobjekt. Sie können mit diesem Objekt tun, was Sie möchten.

Das Token bleibt so lange gültig, bis Sie es durch Aufrufen von google.accounts.user.logout():

function logMeOut() {
  google.accounts.user.logout();
}

Wenn Sie logout() nicht aufrufen, wird das Cookie, das die Das Token bleibt zwei Jahre bestehen, sofern der Nutzer es nicht löscht. Das Cookie wird beibehalten. über mehrere Browsersitzungen hinweg, sodass der Nutzer seinen Browser schließen und wieder öffnen kann. und kehren zu Ihrem Kunden zurück, damit er weiterhin angemeldet ist.

Unter bestimmten Umständen kann ein Token jedoch während einer Sitzung ungültig werden. Wenn Blogger ein Token ablehnt, sollte dein Client den Fehler behandeln, indem er logout() aufruft, um das Cookie mit dem aktuellen Token zu entfernen, und dann noch einmal login() aufruft, um ein neues gültiges Token abzurufen.

Es gibt zwei weitere AuthSub-Methoden, die in verschiedenen Kontexte:

  • google.accounts.user.checkLogin(scope) gibt an, ob Der Browser verfügt derzeit nicht über ein Authentifizierungstoken für die angegebene Umfang.
  • google.accounts.user.getInfo() enthält detaillierte Informationen zum aktuellen Token, die für das Debugging verwendet werden können.

Weitere Informationen zur Verwendung von JavaScript für die Interaktion mit AuthSub, einschließlich Informationen zur Tokenverwaltung und zu checkLogin() und getInfo(), siehe Verwenden von „AuthSub“ Authentifizierung mit der JavaScript-Clientbibliothek Dokument.

Nach oben