Blogger API: Erste Schritte

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

Hinweis

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 sich vor Datenverlusten zu schützen. Wenn Sie bereits ein Testkonto haben, sind Sie startklar. Sie können die Benutzeroberfläche von Blogger aufrufen, um Ihre Testdaten einzurichten, zu bearbeiten oder aufzurufen.

Blogger kennenlernen

Wenn Sie mit den Konzepten von Blogger 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, Webprogrammierungskonzepten und Webdatenformaten vertraut sind.

Weitere Informationen zum Autorisieren von Anfragen und zum Identifizieren Ihrer 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 zum Verwenden von API-Schlüsseln finden Sie im Dokument "API verwenden" unter Anfragen autorisieren und Ihre Anwendung identifizieren.

Blogger API-Hintergrund

Blogger-Konzepte

Blogger beruht auf fünf Grundkonzepten:

  • Blogs: Das Grundkonzept der API. Ein Blog besteht aus Posts und Seiten. Dies ist der Container für Blog-Meta-Informationen wie Blogname und Beschreibung.
  • Posts: Ein Blogpost ist das Element, das veröffentlicht werden kann, das der Autor des Blogs erstellt hat. Diese Informationen müssen zeitnah erfolgen und widerspiegeln, was die Autoren jetzt weltweit veröffentlichen möchten. Es ist uns bewusst, dass die Inhalte von Blogposts mit der Zeit älter und weniger relevant werden.
  • Kommentare: Ein Kommentar ist der Ort, an dem andere Personen als der Autor des Blogposts auf das, was der Autor geschrieben hat, reagieren. Alles von Steinen bis hin zu Blumensträußen.
  • Seiten: Eine Seite ist ein Ort für statische Inhalte wie biografische Informationen oder Kontaktmöglichkeiten mit dem Nutzer. Dabei handelt es sich in der Regel um zeitlose Informationen, die sich nur selten ändern.
  • Nutzer: Ein Nutzer ist jemand, der mit Blogger interagiert, sei es als Autor, Administrator oder einfach nur als Leser. Bei öffentlichen Blogs können Leser anonym sein. In privaten Blogs muss ein Leser jedoch von Blogger identifiziert werden.

Blogger API-Datenmodell

Eine Ressource ist ein individuelles Datenobjekt mit einer eindeutigen ID. Die Blogger JSON API wird mit fünf Ressourcentypen ausgeführt:

  • Blogressource: Steht für einen Blog
  • Posts-Ressource: Stellt einen Post dar. Jede Post-Ressource ist einer Blog-Ressource untergeordnet.
  • Kommentarressource: Stellt einen Kommentar zu einem bestimmten Beitrag dar. Jede Kommentarressource ist einer Beitragsressource untergeordnet.
  • Seitenressource: Stellt eine statische Seite dar. Jede Seitenressource ist einer Blogressource untergeordnet.
  • Nutzerressource: Stellt einen nicht anonymen Nutzer dar. Damit wird der Autor einer Seite, eines Beitrags oder eines Kommentars angegeben.
Die Blogs-Ressource hat zwei untergeordnete Ressourcentypen: Seiten und Posts.
          Eine Beitragsressource kann untergeordnete Kommentarressourcen haben.
Übersicht über die Beziehungen zwischen Ressourcen

Das Blogger API-Datenmodell basiert auf Gruppen von Ressourcen, die als Sammlungen bezeichnet werden:

Blogssammlung
Eine <span="apicollection">Blogsammlung umfasst alle Blogs, auf die ein Nutzer Zugriff hat. Sie können Blogs nach Nutzer auflisten oder einen einzelnen Blog nach ID abrufen.</span="apicollection">
Sammlung von Beiträgen
Eine Beitragssammlung besteht aus allen Ressourcen für Beiträge einer bestimmten Blogressource.
Kommentarsammlung
Eine Kommentarsammlung besteht aus allen Kommentarressourcen einer bestimmten Beitragsressource.
Seitensammlung
Eine Seitensammlung besteht aus allen Seitenressourcen einer bestimmten Blogressource.
Sammlung „Nutzer“
Eine Nutzersammlung besteht aus allen Nutzerressourcen auf Blogger und kann daher nicht aufgelistet werden. Ein Nutzer kann seine eigene Nutzerressource (jedoch keines anderer) über die ID oder die Kennzeichnung self abrufen.

Blogger API-Vorgänge

In der Blogger API kannst du verschiedene Methoden für Sammlungen und Ressourcen aufrufen, wie in der folgenden Tabelle beschrieben.

Vorgang Beschreibung REST-HTTP-Zuordnungen
list Listet alle Ressourcen in einer Sammlung auf. GET für einen Sammlungs-URI.
get Ruft eine bestimmte Ressource ab. GET für einen Ressourcen-URI.
getByUrl Ruft eine Ressource ab und sucht anhand der URL nach der Ressource. GET durch die als Parameter übergebene URL.
getByPath Ruft eine Ressource ab, indem sie über ihren Pfad nachgeschlagen wird. GET durch den Pfad, der als Parameter übergeben wird.
listByUser Listet Ressourcen auf, die einem Nutzer gehören. GET für eine nutzereigene Sammlung
search Suchen Sie anhand eines Abfrageparameters nach Ressourcen. GET für eine Such-URL, wobei die Suchanfrage als Parameter übergeben wird.
insert 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 Aktualisieren Sie eine Ressource mit der Patch-Semantik. PATCH für einen Ressourcen-URI.
Update Ressource aktualisieren PUT für einen Ressourcen-URI.

Die folgende Tabelle zeigt, welche Methoden von jedem Ressourcentyp unterstützt werden. Alle list- und get-Vorgänge in privaten Blogs erfordern eine Authentifizierung.

Ressourcentyp
Unterstützte Methoden
Liste get getByUrl getByPath listByUser suchen einfügen Löschen patchen Update
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

Aufrufstile

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.

In den RESTful APIs von Google gibt der Client eine Aktion mit einem HTTP-Verb wie POST, GET, PUT oder DELETE an. Eine Ressource wird durch einen global eindeutigen URI im folgenden Format angegeben:

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 lassen sich direkt den REST-HTTP-Verben zuordnen. Eine Beschreibung hierzu finden Sie unter Blogger API-Vorgänge.

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

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 Erläuterung der verwendeten URIs und die Ergebnisse für jeden unterstützten Vorgang in der API finden Sie in der 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

Rufen Sie die Posts im Blog code.blogger.com mit der Blog-ID 3213900 ab:

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

REST aus JavaScript

Du kannst die Blogger API über JavaScript mithilfe des Abfrageparameters callback und durch Bereitstellen einer Callback-Funktion aufrufen. Wenn der Browser das Skript lädt, wird die Callback-Funktion ausgeführt und die Antwort an die Callback-Funktion übergeben. Auf diese Weise kannst du umfangreiche Anwendungen schreiben, die Blogger-Daten anzeigen, ohne serverseitigen Code zu benötigen.

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

<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

JavaScript Object Notation

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.