0.3.2 • Published 4 years ago

node-google-books-search-promise v0.3.2

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

node-google-books-search-promise

Fork of google-books-search which makes use of promises instead of callbacks. Makes use of util.promisify; requires Node v8+

Install

npm install --save node-google-books-search-promise

or yarn

yarn add node-google-books-search-promise

Basic Usage

.search(query, options)

Search for books matching the specified query.

const books = require('node-google-books-search-promise');

books.search('Professional JavaScript for Web Developers').then(({results}) => {
    console.log(results);
})
.catch(e => {
    console.log(e);
});

Or using await

const books = require('node-google-books-search-promise');

const {results} = await book.search('Professional JavaScript for Web Developers');
console.log(results);

Returns an array of JSON objects. For example;

[
    {
        "id": "9KJJYFIss_wC",
        "title": "Professional Javascript For Web Developers 2Nd Ed",
        "subtitle": "...",
        "authors":[
            "Nicholas C. Zakas"
        ],
        "publisher": "John Wiley & Sons",
        "publishedDate": "2009-02-09",
        "description": "...",
        "industryIdentifiers": [
            {
                "type": "ISSN",
                "identifier": "..."
            }
        ],
        "pageCount": 840,
        "printType": "BOOK",
        "averageRating": "4",
        "thumbnail": "http://bks5.books.google.com.au/books?id=...",
        "images": {
            "small": "http://...",
            "medium": "http://...",
            "large": "http://...",
            "extraLarge": "http://...",
        },
        "language": "en",
        "link": "http://books.google.com.au/books?id=..."
    },

    ...

]

For a description of each value; see the Google Books API documentaion for volumes.

.lookup(volumeId, options)

Lookup books by Volume ID.

books.lookup('9KJJYFIss_wC').then(function({result}) {
    ...
});

The options argument accepts an object with a key field (your API key).

Advanced Searches

The search method optionally accepts an options object as the second argument. See below for an overview of the available options.

var books = require('node-google-books-search-promise');

var options = {
    key: "YOUR API KEY",
    field: 'title',
    offset: 0,
    limit: 10,
    type: 'books',
    order: 'relevance',
    lang: 'en'
};

books.search("Professional JavaScript for Web Developers", options).then(function({results, response}) {
    console.log(results);
});

Options

OptionDescription
keyYour Google API key (Optional)
fieldSearch in a specified field (title, author, publisher, subject or isbn) (Optional)
offsetThe position in the collection at which to start the list of results (Default: 0)
limitThe maximum number of results to return (Max 40) (Defult: 10)
typeRestrict results to books or magazines (Default: all)
orderOrder results by relevance or newest (Default: relevance)
langRestrict results to a specified language (two-letter ISO-639-1 code) (Default: en)

For more info please see the Google Books API documentation