Erste Schritte

In diesem Dokument werden die Grundlagen erläutert, die Sie zur Verwendung der Google Books API benötigen.

Einführung

Dieses Dokument richtet sich an Entwickler, die Anwendungen schreiben möchten, die mit der Google Books API interagieren können. Google Books möchte unsere Bücher digitalisieren. Sie können die Google Books API verwenden, um Inhalte zu suchen, die persönliche Bibliothek eines authentifizierten Nutzers zu organisieren und zu ändern.

Vorbereitung

Google-Konto erstellen

Sie benötigen ein Google-Konto für Testzwecke. Wenn Sie bereits ein Testkonto haben, können Sie einfach auf der Benutzeroberfläche von Google Books Testdaten einrichten, bearbeiten oder ansehen.

Bücher kennenlernen

Wenn Sie mit den Konzepten von Google Books nicht vertraut sind, sollten Sie dieses Dokument lesen und mit der Benutzeroberfläche experimentieren, bevor Sie mit dem Codieren beginnen. In diesem Dokument wird davon ausgegangen, dass Sie mit Konzepten und Webdatenformaten für Webprogrammierung vertraut sind.

Weitere Informationen zum Autorisieren von Anfragen und zum Identifizieren Ihrer Anwendung

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

Alle Vorgänge unter „Meine Bibliothek“ in der Google Books API gelten als privat und erfordern eine Authentifizierung und Autorisierung. Darüber hinaus kann jeder Vorgang, der Google Books-Daten ändert, nur von dem Nutzer durchgeführt werden, dem diese Daten gehören.

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 „API verwenden“ unter Anfragen autorisieren und Ihre Anwendung identifizieren.

Hintergrund der Books API

Bücherkonzepte

Google Books basiert auf vier grundlegenden Konzepten:

  • Volumen: Ein Band repräsentiert die Daten, die Google Books zu einem Buch oder einer Zeitschrift hostet. Sie ist die primäre Ressource in der Books API. Alle anderen Ressourcen in dieser API enthalten entweder ein Volume oder enthalten Anmerkungen dazu.
  • Bücherregal: Ein Bücherregal ist eine Sammlung von Bänden. Google Books bietet eine Reihe vordefinierter Bücherregale für jeden Nutzer, von denen einige vollständig vom Nutzer verwaltet werden. Einige davon werden anhand der Nutzeraktivität automatisch ausgefüllt und andere gemischt. Nutzer können andere Bücherregale erstellen, ändern oder löschen, die immer manuell mit Bänden gefüllt sind. Bücherregale können vom Nutzer als privat oder öffentlich festgelegt werden.

    Hinweis: Derzeit können Bücherregale nur über die Google Books-Website erstellt und gelöscht sowie Datenschutzeinstellungen für Bücherregale geändert werden.

  • Rezension: Eine Rezension eines Bandes ist eine Kombination aus einer Bewertung und/oder Text. Ein Nutzer kann eine Rezension pro Band einreichen. Rezensionen sind auch von externen Quellen verfügbar und werden entsprechend zugeordnet.
  • Leseposition: Eine Leseposition gibt die letzte Leseposition in einem Volumen für einen Nutzer an. Ein Nutzer kann nur eine Leseposition pro Band haben. Wenn der Nutzer dieses Volume noch nicht geöffnet hat, ist die Leseposition nicht vorhanden. Die Leseposition kann detaillierte Positionsinformationen bis zur Auflösung eines Wortes speichern. Diese Informationen sind immer privat.

Books API-Datenmodell

Eine Ressource ist eine einzelne Datenentität mit einer eindeutigen Kennung. Die Books API basiert auf zwei Ressourcentypen, die auf den oben beschriebenen Konzepten basieren:

  • Volume-Ressource: Stellt ein Volume dar.
  • Bookshelf-Ressource: Stellt ein einzelnes Bücherregal für einen bestimmten Nutzer dar.

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

Sammlung von Volumes
Die Volume-Sammlung ist eine Sammlung jeder Volume-Ressource, die von Google Books verwaltet wird. Daher können Sie nicht alle Volume-Ressourcen auflisten, aber alle Volumes, die einer Reihe von Suchbegriffen entsprechen.
Bücherregalsammlung
Eine Büchersammlung besteht aus allen Bücherregalressourcen, die von Google Books verwaltet werden. Auf Bücherregale muss immer im Kontext der Bibliothek eines bestimmten Nutzers verwiesen werden. Bücherregale können null oder mehr Bände enthalten.

Google bietet für jeden Nutzer vordefinierte Bücherregale:

  • Favoriten: Veränderliches Bücherregal.
  • Gekauft: Wird mit der Anzahl der von Nutzern erworbenen Bände ausgefüllt. Der Nutzer kann Volumes nicht manuell hinzufügen oder entfernen.
  • Lesen: Bücherregal
  • Jetzt lesen: Mable-Bücherregal
  • Habe gelesen: Bücherregal.
  • Überprüft: Wird mit den vom Nutzer geprüften Bänden ausgefüllt. Der Nutzer kann Volumes nicht manuell hinzufügen oder entfernen.
  • Zuletzt aufgerufen: Wird mit Volumes gefüllt, die der Nutzer kürzlich in einem Web Reader geöffnet hat. Der Nutzer kann Volumes nicht manuell hinzufügen.
  • Meine E-Books: Veränderliches Bücherregal Gekaufte Bücher werden automatisch hinzugefügt, können aber manuell entfernt werden.
  • Bücher für dich: Für personalisierte Empfehlungen zu Büchern. Wenn wir keine Empfehlungen für den Nutzer haben, ist dieses Bücherregal nicht vorhanden.

Beispiele für Bücherregale:

  • „Favoriten“
    • „Harry Potter“
  • „Meine E-Books“
    • „Wechseln“
    • „Dämmerung“
    • „Das Mädchen mit dem Drachen Tattoo“

Books API-Vorgänge

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

Aktion Beschreibung REST-HTTP-Zuordnungen
list Listet eine bestimmte Teilmenge von Ressourcen in einer Sammlung auf. GET für einen Sammlungs-URI.
Einfügen Fügt eine neue Ressource in eine Sammlung ein (durch Erstellen einer neuen Ressource). POST für einen Sammlungs-URI, mit dem Sie Daten für eine neue Ressource übergeben.
erhalten Ruft eine bestimmte Ressource ab. GET für den Ressourcen-URI.
Aktualisieren Aktualisiert eine bestimmte Ressource. PUT für den Ressourcen-URI, wobei Sie Daten für die aktualisierte Ressource übergeben.
Delete Löscht eine bestimmte Ressource. DELETE für den Ressourcen-URI, mit dem Sie Daten für die zu löschende Ressource übergeben.

Die Vorgänge, die für die verschiedenen Ressourcentypen unterstützt werden, sind in der Tabelle unten zusammengefasst. Vorgänge, die für private Daten eines Nutzers gelten, werden als „Meine Bibliothek“-Vorgänge bezeichnet. Für alle Vorgänge ist eine Authentifizierung erforderlich.

Ressourcentyp
Unterstützte Vorgänge
Liste Einfügen erhalten Aktualisieren löschen
Volumes Ja* Ja
Bücherregale Ja* Ja, AUTHENTICATED Ja* Ja, AUTHENTICATED Ja, AUTHENTICATED
Positionen lesen Ja, AUTHENTICATED Ja, AUTHENTICATED Ja, AUTHENTICATED Ja, AUTHENTICATED

*Sowohl AUTHENTICATED als auch nicht authentifizierte Versionen dieser Vorgänge sind verfügbar, wobei die authentifizierten Anfragen auf den privaten Daten der Bibliothek „My Library“ des Nutzers und nicht authentifizierte Anfragen nur auf öffentliche Daten angewendet werden.

Anrufstile

Es gibt mehrere Möglichkeiten, die API aufzurufen:

  • REST direkt verwenden
  • REST wird über JavaScript verwendet (kein serverseitiger Code erforderlich).

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 über ein HTTP-Verb wie POST, GET, PUT oder DELETE an. Sie gibt eine Ressource durch einen global eindeutigen URI im folgenden Format 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 Books API

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

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

https://www.googleapis.com/books/v1/{collectionName}/resourceID?parameters

Dabei ist resourceID die ID für ein Volume oder eine Bücherregalressource und parameters sind Parameter, die auf die Abfrage angewendet werden können. Weitere Informationen finden Sie in der Referenz zu Abfrageparametern.

Anhand des Formats der resourceID-Pfaderweiterungen können Sie die Ressource identifizieren, mit der Sie momentan arbeiten. Beispiel:

https://www.googleapis.com/books/v1/volumes
https://www.googleapis.com/books/v1/volumes/volumeId
https://www.googleapis.com/books/v1/mylibrary/bookshelves
https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf
https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/volumes
...

Beachten Sie, dass Vorgänge mit mylibrary im URI nur für die Daten der privaten Bibliothek des aktuell authentifizierten Nutzers gelten. Die vollständige Gruppe von URIs, die für die einzelnen unterstützten Vorgänge in der API verwendet wird, ist in der Referenz der Books API zusammengefasst.

Im Folgenden finden Sie einige Beispiele für die Funktionsweise der Books API.

Führen Sie eine Suche nach Quilts aus:

GET https://www.googleapis.com/books/v1/volumes?q=quilting

Informationen zum Volume s1gVAAAAYAAJ abrufen:

GET https://www.googleapis.com/books/v1/volumes/s1gVAAAAYAAJ

REST über JavaScript

Sie können die Books API mit REST aus JavaScript (auch JSON-P genannt) über den Abfrageparameter callback und eine Callback-Funktion aufrufen. Auf diese Weise können Sie umfangreiche Anwendungen schreiben, die Bücherdaten anzeigen, ohne serverseitigen Code schreiben zu müssen.

Hinweis: Sie können authentifizierte Methoden aufrufen, indem Sie ein OAuth 2.0-Token mit dem Parameter access_token übergeben. Folgen Sie der Anleitung unter OAuth 2.0 für clientseitige Webanwendungen, um ein OAuth 2.0-Token für die Verwendung mit JavaScript zu erhalten. Richten Sie auf dem Tab „API-Zugriff“ der APIs-Konsole eine Client-ID für Webanwendungen ein und verwenden Sie diese OAuth 2.0-Anmeldedaten, wenn Sie Ihr Token abrufen.

Im folgenden Beispiel werden Suchergebnisse für „Harry Potter“ angezeigt:

<html>
  <head>
    <title>Books API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function handleResponse(response) {
      for (var i = 0; i < response.items.length; i++) {
        var item = response.items[i];
        // in production code, item.text should have the HTML entities escaped.
        document.getElementById("content").innerHTML += "<br>" + item.volumeInfo.title;
      }
    }
    </script>
    <script src="https://www.googleapis.com/books/v1/volumes?q=harry+potter&callback=handleResponse"></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.