čtvrtek 4. prosince 2008

Google Book Search API

Pokud spravujete stránku, která je jakkoliv spojena s knihami či jinými publikacemi, můžete ocenit možnost na svou stránku přidat odkazy na knihy, které se nachází na Google Books.

Google Books je kolekce knih a informací o knihách spravovaná společností Google. K dispozici jsou podle možností informace o knihách a jejich edicí až po kompletní texty ke stažení. Google Books dále obsahují odkazy na obchody s knihami a knihovny, kde lze knihy koupit resp. půjčit.

Google Books lze integrovat i do vlastní stránky. V tomto článku si ukážeme jak na to.

... Pokračování

Pro použití Google Book Search není potřeba žádný API klíč ani nic podobného.

Při vyhledání knihy přes Google Book Search bude Google vracet kolik obsahu knihy je k dispozici:
  • Full view – kniha je k dispozici celá
  • Limited Preview – k dispozici je kus knihy
  • Snippet View – k dispozici jsou pouze výňatky z knihy
  • Metadata View – kniha samotná k dispozici není, pouze informace o ní

Poznámka k ISBN: ISBN v současnosti používá dva formáty: deset čísel a třináct čísel, který je novější. API podporuje oba dva.

Dynamic links

Základem API je posílání požadavků na knihu směrem na Google Books:
<script src="http://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback"></script>

Bibkey může být v následujících tvarech:
ISBN: &bibkeys=ISBN:cislo
OCLC: &bibkeys=OCLC:cislo
LCCN: &bibkeys=LCCN:cislo

Odpověď
Google vrací odpověď ve formátu JSON. Více o JSON se můžete dozvědět na domovské stránce JSON: http://www.json.org

Struktura odpovědi je takováto:
JsonSearchResult {
string Klíč – např. ISBN;
string URL s informacemi;
string URL s náhledem;
string URL náhledu;
string Co z knihy k dispozici;
};

Příklad:

Požadavek:
http://books.google.com/books?jscmd=viewapi&bibkeys=0596000278,00-invalid-isbn,ISBN0765304368,0439554934&callback=ProcessGBSBookInfo

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


Parametry v požadavku:
  • Jscmd: požadavek na hledání v Google Books
  • Callback: Jméno funkce, které bude předána odpověď

Synchroní a asynchroní zpracování
Při používání Google Books API je možné používat dva způsoby:
  • Synchroní: někde v HTML kódu je vytvořen požadavek a odpověď je zpracována přímo v javascriptu
  • Asynchroní: požadavek je odeslán a odpověď uložena v proměnné – takto je odpověď okamžitě k dispozici v celém html a javascriptu

Static links

Pokud chcete odkazovat na konkrétní publikaci či edici, můžete využít tzv. static links. Static links umožňují pomocí ISBN čísla odkázat přímo na knihu nebo přímo její část. Static links nijak neověřují, zda kniha se zadaným ISBN číslem je v indexu knih.
Formát je následující:
  • Kniha: http://books.google.com/books?vid=ISBN{ISBN Number}
  • Přední strana obálky: http://books.google.com/books?vid=ISBN{ISBN Number}&printsec=frontcover
  • Titulní strana: http://books.google.com/books?vid=ISBN{ISBN Number}&printsec=titlepage
  • Informace o copyrightu: http://books.google.com/books?vid=ISBN{ISBN Number}&printsec=copyright
  • Obsah: http://books.google.com/books?vid=ISBN{ISBN Number}&printsec=toc
  • Zadní strana obálky: http://books.google.com/books?vid=ISBN{ISBN Number}&printsec=backcover
  • Stránka knihy na Google books: http://books.google.com/books?vid=ISBN{ISBN Number}&printsec=index

Static links lze snadno propojit s Dynamic links, pomocí kterého můžete najít ISBN a to následně použít ve Static links.

Závěrem

Ačkoliv by se mohlo zdát, že Google Books Search nenabízí mnoho funkcí, je třeba si uvědomit, že jde o relativně mladý projekt, který se ale neustále rozrůstá. Proto doporučujeme prohlédnout si i stránky v odkazech níže.

Zajímavé odkazy:
Domovská stránka Google Books: http://books.google.com/
Domovská stránka API: http://code.google.com/apis/books/
Dokumentace k API: http://code.google.com/apis/books/docs/dynamic-links.html
Komunita okolo API: http://groups.google.com/group/booksearch-apis


Zdroj: code.google.com

Žádné komentáře: