Blogger API: Erste Schritte

In diesem Dokument werden die ersten Schritte mit der Blogger API erläutert.

Vorbereitung

Erstellen Sie sich ein Google-Konto

Sie müssen ein Google-Konto eingerichtet haben. Wir empfehlen, für Entwicklungs- und Testzwecke ein separates Google-Konto zu verwenden, um einen versehentlichen Datenverlust zu vermeiden. Falls Sie bereits ein Testkonto haben, können Sie die Benutzeroberfläche von Blogger einrichten, um Ihre Testdaten einzurichten, zu bearbeiten oder aufzurufen.

Blogger kennenlernen

Wenn Sie mit Blogger-Konzepten nicht vertraut sind, lesen Sie dieses Dokument und experimentieren Sie mit der Benutzeroberfläche, bevor Sie mit dem Programmieren beginnen. In diesem Dokument wird davon ausgegangen, dass Sie mit Blogger, mit Webprogrammierungskonzepten und mit Webdatenformaten vertraut sind.

Informationen zum Autorisieren von Anfragen und Identifizieren der Anwendung

Wenn Ihre Anwendung private Daten anfordert, muss die Anfrage von einem authentifizierten Nutzer autorisiert werden, der Zugriff auf diese Daten hat.

Wenn Ihre Anwendung öffentliche Daten anfordert, muss die Anfrage nicht autorisiert werden. Sie benötigt jedoch eine Kennung, z. B. einen API-Schlüssel.

Informationen zum Autorisieren von Anfragen und Verwenden von API-Schlüsseln finden Sie im Dokument zur Verwendung des API unter Anfragen autorisieren und Ihre Anwendung identifizieren.

Blogger API-Hintergrund

Blogger-Konzepte

Blogger beruht auf fünf grundlegenden Konzepten:

  • Blogs: Das Stammkonzept der API. Ein Blog enthält Beiträge und Seiten. Dies ist der Container für Blog-Meta-Informationen wie den Blog-Namen und die Beschreibung.
  • Beiträge: Ein Blogpost ist das Publikationselement, das der Blogpostersteller erstellt hat. Diese Informationen sollen rechtzeitig verfügbar sein und dem entsprechen, was die Autoren heute veröffentlichen möchten. Verständlicherweise werden Inhalte von Blogs mit der Zeit immer älter und sind weniger relevant.
  • Kommentare: Ein Kommentar ist der Ort, an dem andere Personen als der Autor des Blogposts darauf reagieren. Alles von Ziegeln bis zu Blumensträußen.
  • Seiten: Eine Seite ist ein Ort für statische Inhalte, z. B. biografische Informationen oder die Kontaktmöglichkeit des Nutzers. Dies sind in der Regel zeitlose Informationen, die sich nur selten ändern.
  • Nutzer: Ein Nutzer ist eine Person, die mit Blogger interagiert, entweder als Autor, als Administrator oder als Leser. Bei öffentlichen Blogs sind Leser möglicherweise anonym, in privaten Blogs müssen sie jedoch von Blogger identifiziert werden.

Blogger API-Datenmodell

Eine Ressource ist eine einzelne Datenentität mit einer eindeutigen Kennung. Die JSON-API von Blogger wird auf fünf Arten von Ressourcen ausgeführt:

  • Blogs-Ressource: Steht für einen Blog.
  • Posts-Ressource: Steht für einen Beitrag. Jede Beitragsressource ist ein untergeordnetes Element einer Blog-Ressource.
  • Kommentarressource: Steht für einen Kommentar zu einem bestimmten Beitrag. Jede Kommentarressource ist ein untergeordnetes Element einer Beitragsressource.
  • Seitenressource: Steht für eine statische Seite; jede Seitenressource ist eine untergeordnete Ressource einer Blog-Ressource.
  • Nutzerressource: Steht für einen nicht anonymen Nutzer Hiermit wird der Autor einer Seite, eines Beitrags oder eines Kommentars identifiziert.
Die Blogs-Ressource hat zwei untergeordnete Ressourcentypen: Seiten und Beiträge.
          Eine Beitragsressource kann Kommentare haben.
Übersicht der Beziehungen zwischen Ressourcen

Das Blogger API-Datenmodell basiert auf Ressourcengruppen, die als Sammlungen bezeichnet werden:

Blogs
Eine <span="apicollection">blogs-Sammlung umfasst alle Blogs, auf die ein Nutzer Zugriffsrechte hat. Du kannst Blogs nach Nutzern auflisten oder einen einzelnen Blog nach ID abrufen.</span="apicollection">
Sammlung von Beiträgen
Eine Sammlung von Beiträgen besteht aus allen Ressourcen für Beiträge innerhalb einer Blogressource.
Kommentarerfassung
Eine Kommentarsammlung besteht aus allen Kommentarressourcen innerhalb einer bestimmten Beitragsressource.
Seitensammlung
Eine Seitensammlung besteht aus allen Seitenressourcen innerhalb einer bestimmten Blogressource.
Nutzersammlung
Eine Nutzersammlung besteht aus allen Nutzerressourcen auf Blogger und kann daher nicht aufgelistet werden. Ein Nutzer kann seine eigene Nutzerressource (jedoch keine andere) über die ID oder die Kennung self abrufen.

Blogger API-Vorgänge

In der Blogger API können Sie verschiedene Methoden für Sammlungen und Ressourcen aufrufen, wie in der folgenden Tabelle beschrieben.

Aktion Beschreibung REST-HTTP-Zuordnungen
list Listet alle Ressourcen in einer Sammlung auf. GET für einen Sammlungs-URI.
Holen Sie sich Ruft eine bestimmte Ressource ab. GET für einen Ressourcen-URI.
getByUrl Ruft eine Ressource ab und sucht sie anhand der URL. GET mit der als Parameter übergebenen URL.
GetByPath Ruft eine Ressource ab, indem sie nach ihrem Pfad sucht. GET mit dem als Parameter übergebenen Pfad.
listByUser Listet Ressourcen eines Nutzers auf. GET für eine nutzereigene Sammlung.
search Suchen Sie anhand eines Suchparameters nach Ressourcen. GET für eine Such-URL, wobei die Abfrage als Parameter übergeben wird.
Einfügen Erstellen Sie eine Ressource in einer Sammlung. POST für einen Sammlungs-URI.
Delete Löscht eine Ressource. DELETE für einen Ressourcen-URI.
Patch Ressource mit Patch-Semantik aktualisieren. PATCH für einen Ressourcen-URI.
Aktualisieren Aktualisieren Sie eine Ressource. PUT für einen Ressourcen-URI.

In der folgenden Tabelle sehen Sie, welche Methoden von den einzelnen Ressourcentypen unterstützt werden. Alle list- und get-Vorgänge in privaten Blogs erfordern eine Authentifizierung.

Ressourcentyp
Unterstützte Methoden
Liste erhalten getByUrl getByPath listByUser suchen einfügen löschen Patch aktualisieren
Blogs Nein Ja Ja Nein Ja Nein Nein Nein Nein Nein
Beiträge Ja Ja Nein Ja Nein Ja Ja Ja Ja Ja
Kommentare Ja Ja Nein Nein Nein Nein Nein Nein Nein Nein
Seiten Ja Ja Nein Nein Nein Nein Nein Nein Nein Nein
Nutzer Nein Ja Nein Nein Nein Nein Nein Nein Nein Nein

Anrufstile

Es gibt mehrere Möglichkeiten, die API aufzurufen:

REST

REST ist eine Art Softwarearchitektur, die einen bequemen und einheitlichen Ansatz zur Abfrage und Bearbeitung von Daten bietet.

REST steht für "Representational State Transfer". Im Kontext der Google APIs ist damit die Verwendung von HTTP-Verben gemeint, um Darstellungen von Daten, die bei Google gespeichert sind, abzufragen und zu bearbeiten.

In einem als "RESTful" bezeichneten System werden Ressourcen in einem Datenspeicher abgelegt; ein Client sendet eine Aufforderung, der Server möge eine bestimmte Aktion ausführen (z. B. eine Ressource erstellen, abfragen, aktualisieren oder löschen), und der Server führt die Aktion aus und sendet eine Antwort, oft in Form einer Darstellung der angegebenen Ressource.

Der Client gibt in den RESTful APIs von Google eine Aktion über ein HTTP-Verb wie POST, GET, PUT oder DELETE an. Sie gibt eine Ressource durch einen global eindeutigen URI in der folgenden Form an:

https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters

Weil alle API-Ressourcen eindeutige, über HTTP zugängliche URIs haben, ermöglicht REST das Caching von Daten und ist optimal geeignet, mit der verteilten Infrastruktur des Webs zu arbeiten.

Dafür können die Methodendefinitionen in der Dokumentation der HTTP 1.1-Standards hilfreich sein. Hier finden Sie auch die Spezifikationen für GET, POST, PUT und DELETE.

REST in der Blogger API

Die unterstützten Blogger-Vorgänge sind REST-HTTP-Verben direkt zugeordnet, wie unter Blogger API-Vorgänge beschrieben.

Das spezifische Format für Blogger API-URIs ist:

https://www.googleapis.com/blogger/v3/users/userId
https://www.googleapis.com/blogger/v3/users/self
https://www.googleapis.com/blogger/v3/users/userId/blogs
https://www.googleapis.com/blogger/v3/users/self/blogs
https://www.googleapis.com/blogger/v3/blogs/blogId
https://www.googleapis.com/blogger/v3/blogs/byurl
https://www.googleapis.com/blogger/v3/blogs/blogId/posts
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/bypath
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/search
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId/comments
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId/comments/commentId
https://www.googleapis.com/blogger/v3/blogs/blogId/pages
https://www.googleapis.com/blogger/v3/blogs/blogId/pages/pageId

Die vollständige Beschreibung der verwendeten URIs und die Ergebnisse für jeden unterstützten Vorgang in der API finden Sie im Dokument Blogger API-Referenz.

Beispiele

Listen Sie die Blogs auf, für die der authentifizierte Nutzer Zugriffsrechte hat:

GET https://www.googleapis.com/blogger/v3/users/self/blogs?key=YOUR-API-KEY

Die Posts finden Sie im Blog code.blogger.com mit der Blog-ID 3213900:

GET https://www.googleapis.com/blogger/v3/blogs/3213900?key=YOUR-API-KEY

REST aus JavaScript

Du kannst die Blogger API mit JavaScript aufrufen, indem du den Abfrageparameter callback verwendest und eine Callback-Funktion bereitstellst. Wenn der Browser das Skript lädt, wird die Callback-Funktion ausgeführt und die Antwort der Callback-Funktion bereitgestellt. Dieser Ansatz ermöglicht es Ihnen, umfangreiche Anwendungen zu schreiben, die Blogger-Daten anzeigen, ohne dass serverseitiger Code erforderlich ist.

Im folgenden Beispiel wird ein Post aus dem Blog code.blogger.com abgerufen, nachdem Sie YOUR-API-KEY durch Ihren API-Schlüssel ersetzt haben.

<html>
  <head>
    <title>Blogger API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function handleResponse(response) {
        document.getElementById("content").innerHTML += "<h1>" + response.title + "</h1>" + response.content;
      }
    </script>
    <script
    src="https://www.googleapis.com/blogger/v3/blogs/3213900/posts/8398240586497962757?callback=handleResponse&key=YOUR-API-KEY"></script>
  </body>
</html>

Datenformat

JSON

JSON (JavaScript Object Notation) ist ein gängiges sprachunabhängiges Datenformat, das eine einfache Textdarstellung beliebiger Datenstrukturen bietet. Weitere Informationen finden Sie unter json.org.