Dynamic Links

Mit der Funktion „Dynamische Links“ von Google Books können Sie von Ihrer Website aus individuellere, zuverlässigere Links zu Google Books erstellen. Mit diesem Tool können Sie beispielsweise Links erstellen, die nur angezeigt werden, wenn ein Buch in unserem Index enthalten ist, oder Links anzeigen, die Ihren Nutzern anzeigen, ob ein Buch bei Google Books in der Vorschau angezeigt werden kann. Mit der Funktion „Dynamische Links“ können Sie außerdem eine Miniaturansicht in Ihren Link zu Google Books einfügen. Mit diesem Dokument können Sie diese Funktion schnell zu Ihrer Website hinzufügen.

Hinweis: Diese Funktion wurde früher als Book Viewability API bezeichnet.

Der Vorschauassistent ist ein Tool, das auf dynamischen Links basiert, und es Ihnen noch einfacher macht, Links zu Buchvorschauen von der Website zu erstellen. Dazu müssen Sie nur ein paar Zeilen Code kopieren. Dieses Dokument richtet sich an erfahrene Entwickler, die ihre Verknüpfung mit der Google Books-Suche anpassen möchten.

Inhalt

  1. Zielgruppe
  2. Terminologie für die Google Suche
  3. Einführung
  4. Branding-Richtlinien
  5. Clientseitige API
    1. Format der Anfrage-URL
    2. JSON-Ergebnisformat
  6. Synchrone und asynchrone Modi
  7. Häufig gestellte Fragen
  8. Codebeispielen

Zielgruppe

Die Dokumentation zu dynamischen Links ist für Programmierer gedacht, die Webanwendungen erstellen möchten, die auf Bücher in Google Books verweisen. In dieser Dokumentation wird davon ausgegangen, dass Sie mit dem HTTP-Protokoll und grundlegendem JavaScript vertraut sind.

Terminologie für die Google Books-Suche

Google Books berücksichtigt die lokalen Urheberrechtsbeschränkungen des Nutzers. Daher sind einige oder alle Bücher nicht in allen Ländern verfügbar. Sichtbarkeit ist in die folgenden Klassen gruppiert:

Vollansicht
Das gesamte Buch kann angesehen werden. Diese Bücher sind möglicherweise frei von Urheberrechten.
Begrenzte Vorschau
Ein Teil des Buchs ist sichtbar. Dieses Buch unterliegt dem Urheberrecht und Google Books hat die Berechtigung erhalten, diese Seiten für Nutzer zugänglich zu machen. Diese Bücher unterscheiden sich von Büchern mit Auszugsansicht, da Nutzer hier ganze Seiten ansehen können.
Snippet-Ansicht und keine Vorschau
Nutzer sehen nur die Seite „Über das Buch“. Es sind höchstens kurze Auszüge aus dem Buch verfügbar. Dieses Buch wurde entweder nicht gescannt oder es unterliegt einem Urheberrecht und Google Books wurde nicht berechtigt, mehr als einige Snippets für den Suchbegriff eines Nutzers freizugeben.

Einführung

In der Dokumentation zu statischen Links wird eine sehr einfache Methode zum Generieren von URLs zu einer bestimmten Buchseite auf Google Books beschrieben. Leider kann es vorkommen, dass ein bestimmtes Buch nicht im Google Books-Index enthalten ist oder für einen Nutzer an einem bestimmten Standort keine Vorschau verfügbar ist. Da statische Links „blind“ sind, kann es passieren, dass sie nicht die gewünschte Wirkung haben.

Dynamic Links ist eine alternative, programmatische clientseitige Methode zum Abfragen der Sichtbarkeit eines Buchs mithilfe von JavaScript. So können Sie zuverlässigere und vorhersehbare Links zur Google Books-Suche hinzufügen und so die Nutzererfahrung verbessern. Da die Sichtbarkeit je nach Standort des Endnutzers variiert, eignet sich die Oberfläche für dynamische Links nicht für serverseitige oder Offlineabfragen.

Weitere Informationen zu den Möglichkeiten von dynamischen Links finden Sie in den Codebeispielen am Ende dieses Dokuments.

Branding-Richtlinien

Beim Rendern dynamischer Links müssen Sie die Branding-Richtlinien einhalten, die für die Google Books API-Familie gelten. Insbesondere

  • Sie müssen die Namensnennung und Links zu Google Books beibehalten.
  • Verwenden Sie beim Verknüpfen von Vorschauen auf Google Books nur die genehmigte Vorschauschaltfläche.
  • Alle Textlinks, Schaltflächen, Dokumentationen und Beschreibungen müssen den zulässigen Namenskonventionen entsprechen. Beispielsweise sollten Sie nicht die Verben „&download“ oder „read“ verwenden, wenn Sie Links zu Google Books-Vorschauen verknüpfen, da nur urheberrechtsfreie Werke vollständig heruntergeladen werden können.

Beispiel-Branding

Freakonomics: Ein Rogue Economist erkundet die verborgene Seite aller Dinge
Von Steven Levitt und Stephen Dubner

Der Abschnitt mit Beispielen am Ende dieses Dokuments enthält zusätzliche Beispiele, die den aktuellen Branding-Richtlinien entsprechen.

Clientseitige API

Den Kern des clientseitigen dynamischen Links bildet ein URL-Format, mit dem Entwickler URLs erstellen können, die Informationen zu einem oder mehreren Büchern anfordern, und diese über das Tag <script> an Google Books senden.

Syntaxbeispiel:
<script src="https://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback"></script>

Anfrageformat

Das Format der URL ähnelt der URL-Syntax, die für die Verknüpfung mit Büchern verwendet wird. Das Feld „Buch-ID“ kann jedoch mehrere durch Kommas getrennte Buch-IDs enthalten und es gibt zusätzliche Parameter für den Parameter 'callback'. Optional können zusätzliche Argumente vorhanden sein, um die Sichtbarkeitsfilter zu steuern.

Dynamic Links unterstützt verschiedene Methoden zur Identifizierung von Büchern: ISBNs, OCLC-Nummern und LCCN-Schlüssel. Die API ermöglicht Batch-Abfragen bis zu der Größe einer maximalen GET-Anfrage.

ISBN
&bibkeys=ISBN:0451526538 (Die API unterstützt sowohl ISBN 10 als auch 13.)
OKC
&bibkeys=OCLC:36792831
LLC
&bibkeys=LCCN:96072233

JSON-Ergebnisformat

Die Antwort aus diesem Aufruf enthält Informationen über die angeforderten Bücher, die als ein oder mehrere JSON-Objekte zurückgegeben werden. Die JSON-Objekte haben die folgende Struktur:

JsonSearchResult {
    string bib_key;
    string info_url;
    string preview_url;
    string thumbnail_url;
    string preview;
};

Diese Felder enthalten folgende Informationen:

Buchschlüssel
Die ID, die für die Abfrage dieses Buchs verwendet wurde.
Info-URL
Eine URL zu einer Seite in Google Books mit Informationen zum Buch (zu dieser Buchseite).
Vorschau-URL
Eine URL zur Vorschau des Buchs, über die der Nutzer direkt zum Cover gelangt. Wenn für eine Anfrage nur Bücher in der Snippet-Ansicht oder „Keine Vorschau“ verfügbar sind, wird keine Vorschau-URL zurückgegeben.
Miniaturansicht_URL
Eine URL zu einer Miniaturansicht des Buchcovers.
Vorschau
Ein Wert, der den Sichtbarkeitsstatus des Buchs angibt: full (für Bücher mit vollständiger Ansicht), partial (für Bücher mit eingeschränkter Vorschau) oder noview (für Bücher mit Auszug oder Vorschau).
einbettbar
Dieser boolesche Wert ist true, wenn das Buch mit dem eingebetteten Betrachter der Google Suche auf Seiten von Drittanbietern eingebettet werden kann.

Die Antwort ist ein JSON-Objekt mit zwei Feldern, "books", das den Wert einer Zuordnung von Buchobjekten enthält, und "options", das eine Liste der für diese Anfrage aktivierten Optionen enthält. Wenn keine Optionen angegeben wurden, kann das Feld „Optionen“ in der Antwort weggelassen werden. Beispiel:

Request:
https://books.google.com/books?jscmd=viewapi&bibkeys=0596000278,00-invalid-isbn,ISBN0765304368,0439554934&callback=ProcessGBSBookInfo

Response:
ProcessGBSBookInfo({
    "0596000278":{
        "bib_key":"0596000278",
        "info_url":"https://books.google.com/books?id=ezqe1hh91q4C&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=ezqe1hh91q4C&printsec=frontcover&sig=zSQ5gwlX1NZl_24M86KS8Rbj33Q&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=ezqe1hh91q4C&pg=PR3&img=1&zoom=5&sig=bBmzIAIiCtMcM7Ii7TUHycqqEWg",
        "preview":"partial"
    },
    "ISBN0765304368":{
        "bib_key":"ISBN0765304368",
        "info_url":"https://books.google.com/books?id=gfg13CM_kU8C&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=gfg13CM_kU8C&printsec=frontcover&sig=jIrSb_SkcQRhy_VvtnKbTXjmvos&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=gfg13CM_kU8C&pg=PP1&img=1&zoom=5&sig=LsTwGVAsy_qWYMPM6HVDTPAMokg",
        "preview":"full"
    },
    "0439554934":{
        "bib_key":"0439554934",
        "info_url":"https://books.google.com/books?id=iwiYGwAACAAJ&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=iwiYGwAACAAJ&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=iwiYGwAACAAJ&printsec=frontcover&img=1&zoom=5&sig=_L6ySKDAs-8gNK28c3NyFdO22ZM",
        "preview":"noview"}
});

Entwickler können dann den Inhalt und die Darstellung ihrer Webseiten basierend auf den vom GBS-Server abgerufenen JSON-Ergebnissen ändern. Derzeit bietet GBS keine Bibliotheken zur Änderung des DOM.

Parameter und zusätzliche Felder

JS Cmd
Die Anfrage an Google Books.
callback
Name der JavaScript-Funktion, an die die Rücksendung übergeben wird.

Synchroner und asynchroner Modus

Asynchroner Modus

Im asynchronen Modus platziert der Entwickler das <script>-Tag im <head> des Dokuments und erstellt die URL mit allen Kennungen, die zum Rendern der Seite erforderlich sind. Die Daten werden aus dem Aufruf in einer Variablen empfangen. Dadurch werden die Informationen zum Buch für den Rest des Dokuments zur Verfügung gestellt und es kann sofort in der HTML- und der JavaScript-Datei aufgerufen werden.

Synchroner Modus

Im synchronen Modus verwendet der Entwickler die URL in der Mitte des HTML-Codes <body>. Die Antwort wird über einen JavaScript-Callback verarbeitet.

Häufig gestellte Fragen

F: Brauche ich einen API-Schlüssel oder eine andere Berechtigung, um dynamische Links zu verwenden?
A: Für die Verwendung dynamischer Links ist kein API-Schlüssel oder eine anderweitige Autorisierung erforderlich. Kopieren Sie einfach eines unserer Beispiele und fügen Sie es ein.
F: Was ist mit Browsern, die JavaScript nicht unterstützen oder bei denen JavaScript deaktiviert ist?
A: Es gibt keine Möglichkeit zu testen, ob in Google Books ein Buch verfügbar ist, wenn im Browser eines Nutzers JavaScript nicht aktiviert ist. Wir empfehlen, für Browser ohne JavaScript die statische Linkstruktur von Google Books zu verwenden. Sie können jedoch nicht im Voraus wissen, ob das von Ihnen verlinkte Buch bei Google Books verfügbar ist.
F: Nach wie vielen Büchern kann ich gleichzeitig suchen?
A: Die Anzahl der Bücher, nach denen Sie suchen können, ist nur durch die Länge der GET-Anfragen begrenzt. In Microsoft Internet Explorer beschränkt die maximale URL-Länge (2.083 Zeichen) die Länge der GET-Anfragen.
F: Google Books hat vor Kurzem Ergebnisse für ein Buch zurückgegeben. Warum gibt es jetzt keine Ergebnisse zurück?
A: Da Entwickler oft eine ungewöhnlich hohe Anzahl von Anfragen senden, erhältst du möglicherweise aus Versehen versehentlich Sicherheitstipps in Google Books. Um zu prüfen, ob dies der Fall ist, prüfen Sie, was von der API zurückgegeben wird. Wenn es sich um eine Anfrage zum Ausfüllen eines Captchas handelt, haben Sie zu viele Abfragen gestellt. Melden Sie sich in Google Books an und versuchen Sie es noch einmal.
F: Was ist mit dem Datenschutz?
A: Bei der Beantwortung von Fragen zur Sichtbarkeit von Büchern erhält Google nicht personenidentifizierbare Protokolldaten des Servers. Wir nehmen den Schutz der Daten der Nutzer sehr ernst und behandeln sie nach unserer Datenschutzerklärung. Wenn Sie Nutzern einen Dienst anbieten, der die Sichtbarkeit von Büchern beinhaltet, können Sie die Nutzer darüber informieren, dass Ihr Dienst auch Anfragen über dynamische Links an Google sendet.

Codebeispiele

Dieser Abschnitt enthält Beispiele für verschiedene Verwendungsmöglichkeiten von dynamischen Links. Sie können auf ein beliebiges Beispiel klicken, um es in Aktion zu sehen. Den zugrunde liegenden Code sehen Sie, wenn Sie sich die Quelle im Browser ansehen.

  • Vorschauschaltfläche für eine Buchseite
    Wenn Sie dynamische Links verwenden möchten, um einzelnen Seiten Ihrer Website eine Vorschauschaltfläche hinzuzufügen, ist dies ein Beispiel für Sie. Diese Implementierung verwendet einen synchronen Aufruf an Google Books.
  • Liste mit Kurslesekursen
    In diesem Beispiel wird eine typische Buchliste für einen akademischen Kurs gezeigt. Wir verwenden einen einzigen synchronen Aufruf, um Buchseiten auf Google Books zu verknüpfen, Titelbilder hinzuzufügen und die Verfügbarkeit der Vorschau anzugeben.
  • Alternative Buchliste
    Ähnlich wie im vorherigen Beispiel werden diesem Beispiel mithilfe eines asynchronen API-Callbacks Links zur Google Suche hinzugefügt.
  • Interactive AJAX
    Sie könnten sich für die Verwendung von Dynamic Links in einer sehr interaktiven AJAX-Anwendung interessieren. In diesem Beispiel wird gezeigt, wie Sie verschiedene Aufrufe ausführen, ohne die Seite zu aktualisieren.