Dynamic Links

Dynamiczne linki do Książek Google umożliwiają tworzenie bardziej niestandardowych i niezawodnych linków do Książek Google. Narzędzie to pozwala na przykład generować linki &inteligentne, które pojawiają się tylko wtedy, gdy książka jest w naszym indeksie, lub wyświetlać linki wskazujące użytkownikom, czy można zobaczyć ich podgląd w Książkach Google. Funkcja Dynamiczne linki pozwala też dołączyć do miniatury obraz linku do Książek Google. Dzięki temu dokumentowi możesz szybko dodać tę funkcję do swojej witryny.

Uwaga: ta funkcja była wcześniej znana jako interfejs Book Viewability API.

Kreator podglądu to narzędzie opracowane na podstawie dynamicznych linków, które jeszcze bardziej ułatwiają tworzenie linków do podglądu książek po prostu poprzez skopiowanie kilku wierszy kodu. Dokument jest przeznaczony dla bardziej zaawansowanych programistów, którzy chcą zmienić sposób tworzenia linków do usługi Książki Google.

Spis treści

  1. Odbiorcy
  2. Terminologia związana z wyszukiwaniem książek
  3. Wprowadzenie
  4. Wskazówki dotyczące promowania marki
  5. Interfejs API po stronie klienta
    1. Format adresu URL żądania
    2. Format wyników JSON
  6. Tryby synchroniczne i asynchroniczne
  7. Najczęstsze pytania
  8. Przykładowe fragmenty kodu

Odbiorcy

Dokumentacja linków dynamicznych jest przeznaczona dla programistów, którzy chcą tworzyć aplikacje internetowe zawierające linki do książek w Książkach Google. W tej dokumentacji zakładamy, że znasz protokół HTTP i podstawowy skrypt JavaScript.

Terminologia związana z wyszukiwaniem książek

W Książkach Google obowiązują lokalne ograniczenia dotyczące praw autorskich, dlatego w niektórych lokalizacjach podglądy i pełne wersje niektórych książek są niedostępne. Widoczność jest podzielona na te klasy:

Pełny widok
Można przeglądać całą książkę. Te książki mogą należeć do domeny publicznej.
Ograniczony podgląd
Fragment książki jest widoczny. Książka jest objęta prawami autorskimi, a Książki Google mają pozwolenie na udostępnienie jej użytkownikom. Te książki różnią się od książek w widoku krótkiego opisu, ponieważ użytkownicy mogą wyświetlać całe strony.
Widok krótkiego opisu i brak podglądu
Użytkownicy widzą tylko stronę „Informacje o książce”. Najczęściej dostępne są tylko krótkie fragmenty książki. Ta książka nie została przeskanowana lub jeśli jest objęta prawami autorskimi, a Książki Google nie mają uprawnień do wyświetlania więcej niż kilku & konkretnych haseł wyszukiwanych przez użytkownika.

Wprowadzenie

Dokumentacja linków statycznych opisuje bardzo prosty sposób generowania adresów URL stron konkretnych książek w Książkach Google. Czasem może się zdarzyć, że dana książka nie znajduje się w indeksie Książek Google lub użytkownik nie ma dostępu do jej podglądu. Linki statyczne są niewidoczne i niekiedy nie działają często tak, jak powinny.

Dynamiczne linki to alternatywna, zautomatyzowana metoda wysyłania zapytań o widoczność książki za pomocą JavaScriptu po stronie klienta. Dzięki temu możesz umieszczać w usłudze Książki Google bardziej niezawodne i przewidywalne linki do stron, dzięki czemu użytkownicy będą bardziej zadowoleni. Widoczność zmienia się w zależności od lokalizacji użytkownika, dlatego interfejs linku dynamicznego nie jest przeznaczony do zapytań po stronie serwera ani offline.

Aby dowiedzieć się, co potrafią linki dynamiczne, przejdź do przykładów kodu na końcu tego dokumentu.

Wskazówki dotyczące promowania marki

Podczas renderowania linków dynamicznych musisz przestrzegać wskazówek dotyczących promowania marki, które określają rodzinę interfejsu API Książek Google. W szczególności

  • Musisz zachować atrybucję i linki do Książek Google.
  • Do linków do podglądu w Książkach Google możesz używać tylko zatwierdzonego przycisku podglądu Google.
  • Wszelkie linki, przyciski, dokumentacja lub tekst opisowy muszą być zgodne z zasadami konwencji nazewnictwa. Na przykład nie należy używać czasowników "download" ani "read" w przypadku linków do podglądu w Książkach Google można pobrać tylko utwory z domeny publicznej.

Przykład promowania marki

Freakonomics: An Rogue Economist Explore the Hidden Side of
Autorzy: Steven Levitt i Stephen Dubner

W sekcji przykładów na końcu tego dokumentu znajdziesz dodatkowe przykłady zgodne z aktualnymi wskazówkami dotyczącymi promowania marki.

Interfejs API po stronie klienta

Podstawą dynamicznego linku po stronie klienta jest format URL, który umożliwia programistom tworzenie adresów URL z prośbą o informacje dotyczące jednej lub większej liczby książek i wysyłanie żądań do Książek Google przy użyciu tagu <script>.

Przykład składni:
<script src="https://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback"></script>

Format żądania

Format adresu URL jest podobny do składni adresu URL używanego do łączenia z książkami, ale pole identyfikatora książki może zawierać wiele identyfikatorów książek rozdzielonych przecinkami oraz dodatkowe parametry 'jscmd' 'callback'. Możesz też użyć dodatkowych argumentów, aby kontrolować filtry widoczności.

Linki dynamiczne obsługują kilka różnych metod identyfikowania książek: numery ISBN, numery OCLC i klucze LCCN. Interfejs API zezwala na zapytania zbiorcze, których rozmiar nie przekracza maksymalnego rozmiaru żądania GET.

ISBN
&bibkeys=ISBN:0451526538 (Interfejs API obsługuje zarówno ISBN 10, jak i 13).
OCLC,
&bibkeys=OCLC:36792831
LCCN,
&bibkeys=LCCN:96072233

Format wyników JSON

Odpowiedź od tego wywołania będzie zawierać informacje o żądanych książkach zwróconych jako co najmniej jeden obiekt JSON. Obiekty JSON mają taką strukturę:

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

Zawierają one następujące informacje:

klucz bibliograficzny
Identyfikator używany do wysyłania zapytań do tej książki.
info_url
URL strony w Książkach Google z informacjami o książce (o tej stronie).
podgląd_url
Adres URL prowadzący do podglądu książki, który prowadzi użytkownika bezpośrednio do okładki książki. Jeśli w odpowiedzi na żądanie dostępny jest tylko widok krótkiego opisu lub brak książek do podglądu, URL podglądu nie zostanie zwrócony.
miniatura_adresu URL
URL do miniatury okładki książki.
podgląd
Wartość wskazująca stan widoczności książki: full (w przypadku książek w pełnym widoku), partial (w przypadku książek z ograniczonym podglądem) lub noview (w przypadku książek z fragmentem lub bez podglądu).
można umieścić
Wartość logiczna to true, jeśli książka może być umieszczona na stronach innych firm za pomocą przeglądarki umieszczonej na stronie wyszukiwarki książek.

Odpowiedź to obiekt JSON z 2 polami – "books", które mają wartość mapy obiektów książek, oraz "options" zawierający listę opcji włączonych dla tego żądania. Jeśli nie określono żadnych opcji, pole "options" może zostać pominięte w odpowiedzi. Przykład:

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"}
});

Programiści mogą następnie zmieniać zawartość i wygląd swoich stron internetowych na podstawie wyników JSON pobranych z serwera GBS. Obecnie GBS nie udostępnia bibliotek do modyfikowania interfejsu DOM.

Parametry i dodatkowe pola

jscmd
Żądanie dotyczące Książek Google.
wywołanie zwrotne
Nazwa funkcji JavaScript, do której zwracamy kod.

Tryb synchroniczny i asynchroniczny

Tryb asynchroniczny

W trybie asynchronicznym deweloper dodaje tag <script> w <head> dokumentu i tworzy adres URL ze wszystkimi identyfikatorami potrzebnymi do renderowania strony. Dane są odbierane ze wywołania w zmiennej. Dzięki temu informacje o książce są dostępne w pozostałej części dokumentu i można je otworzyć od razu w kodzie HTML i JavaScript.

Tryb synchroniczny

W trybie synchronicznym deweloper używa adresu URL pośrodku kodu HTML <body>. Odpowiedź jest przetwarzana za pomocą wywołania zwrotnego JavaScriptu.

Najczęstsze pytania

P: Czy potrzebuję klucza interfejsu API lub innego uprawnienia, aby korzystać z linków dynamicznych?
O: Aby korzystać z linków dynamicznych, nie potrzebujesz klucza interfejsu API ani innej autoryzacji. Aby rozpocząć, skopiuj i wklej jeden z naszych przykładów i zacznij malować.
P: Co z przeglądarkami, które nie obsługują JavaScriptu lub mają tę funkcję wyłączoną?
O: Nie można sprawdzić, czy w Książkach Google jest włączona książka, gdy w przeglądarce użytkownika nie włączono JavaScriptu. Zalecamy używanie statycznej struktury linków Książek Google w przeglądarkach bez JavaScriptu. Pamiętaj jednak, że nie możesz z wyprzedzeniem wiedzieć, czy książka jest dostępna w Książkach Google.
P: Ile książek mogę wyszukać jednocześnie?
O: Liczba książek, które możesz wyszukiwać, jest ograniczona przez długość żądań GET. W przeglądarce Microsoft Internet Explorer maksymalna długość adresu URL (2083 znaków) ogranicza długość żądań GET.
P: Książki Google zwróciły wyniki przed chwilą. Dlaczego teraz nie zwraca wyników?
O: Deweloperzy często zgłaszają nietypową liczbę żądań, więc możesz przypadkowo nałożyć środki na bezpieczeństwo stosowane w Książkach Google. Aby dowiedzieć się, czy ten problem występuje, przejrzyj wyniki zwracane przez interfejs API. Jeśli pojawi się prośba o wypełnienie captcha, masz zbyt wiele zapytań. Zalecamy zalogowanie się w Książkach Google i spróbuj ponownie.
Pyt.: Co z prywatnością?
O: Jeśli odpowiadasz na pytania dotyczące widoczności książek, Google otrzymuje dane z dziennika, które nie umożliwiają identyfikacji osoby. Szanujemy prywatność użytkowników i traktujemy te dane zgodnie z naszą Polityką prywatności. Jeśli oferujesz użytkownikom usługę, która obejmuje widoczność książek, możesz poinformować ich o tym, że usługa wysyła także do Google zapytania za pomocą dynamicznych linków.

Przykładowe fragmenty kodu

W tej sekcji znajdziesz przykłady pokazujące różne sposoby korzystania z linków dynamicznych. Możesz kliknąć dowolny przykład, aby zobaczyć, jak to działa. Aby sprawdzić kod źródłowy, wyświetl w przeglądarce źródło.

  • Przycisk podglądu na stronie książki
    Jeśli chcesz używać linków dynamicznych do dodawania przycisków „podgląd” i „przyciski” do poszczególnych stron książki w witrynie, jest to przykład dla Ciebie. Ta implementacja korzysta z synchronicznego wywołania Książek Google.
  • Lista lektur
    Ten przykład ilustruje typową listę książek do użycia w kursie akademickim. Używamy pojedynczego synchronicznego linku do stron z książkami w Książkach Google, stosujemy dodawanie okładek i wskazujemy dostępność podglądu.
  • Alternatywna lista książek
    Tak jak w poprzednim przykładzie, ten przykład dodaje linki do wyszukiwarki książek przy użyciu asynchronicznego wywołania zwrotnego interfejsu API.
  • Interaktywna AJAX
    Może zainteresować Cię dynamiczne linki w bardzo interaktywnej aplikacji AJAX. Ten przykład pokazuje, jak wykonać wiele różnych wywołań bez odświeżania strony.