CollectionsCollections Database

Libreria Javascript di Google Books

La libreria Javascript di Google Books è un wrapper per le API di Google Books.

Il codice sorgente è disponibile nella repository GitHub.

app.api.googleBooks
La liberia è accessibile dall'oggetto app.api.googleBooks.
search(query app.query object) array of search results
La funzione ricerca volumi e restituisce un array di risultati di ricerca.
getVolume(id string) volume
La funzione ottiene un volume dall'ID. Restituisce un volume oppure undefined se questo non esiste.
volumeClass class
Imposta una classe personalizzata per il volume, la classe deve estendere app.classes.api.googleBooks.volume
forceThumbnail bool
Richiedi la copertina sempre come thumbnail. Alcuni libri non hanno copertine in alta risoluzione e restituiscono immagini segnaposto, imposta questa proprietà su true per ottenere la copertina in bassa risoluzione.
// Google Books search (1.0)
// https://github.com/risolvipro/collections

let results = app.api.googleBooks.search(app.query);
app.result(results);

Volume

app.classes.api.googleBooks.volume
Questa classe gestisce un volume.
constructor(data json) volume
data json
I dati json restituiti da Google Books.
title string
Titolo del volume.
requestImage() image
Richiedi l'immagine di copertina con la risoluzione migliore. Restituisce un oggetto image oppure undefined se la richiesta fallisce.
publisher string
Editore del volume.
publishedDate date
Data di pubblicazione del volume come oggetto Date.
authors array of document builders
Ottieni gli autori come array di document builder.
categories array of list item suggestions
Ottieni le categorie come array di suggerimenti per una lista.
ISBN_13 string
Codice ISBN 13 del volume.
// Google Books document (1.0)
// https://github.com/risolvipro/collections

let volume = app.api.googleBooks.getVolume(app.params.id);

if(volume == undefined) {
    app.fail();
}

let builder = app.document.builder();

builder.setString(volume.title, "title");
builder.setDocuments(volume.authors, "authors");
builder.setImage(volume.requestImage(), "cover");
builder.setListItems(volume.categories(app.params.categories), "genre");
builder.setString(volume.publisher, "publisher");
builder.setDate(volume.publishedDate, "published-date");
builder.setInteger(volume.pageCount, "page-count");
builder.setString(volume.ISBN_13, "isbn");

app.result(builder);