mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
* Add Google APIs typings * [gapi.cliebt.* ] Add version as part of typings name and fix gapi.client tslint errors * versions should not get their own folders fixing a few typos using /** syntax so comments show up in editors export only actual (last) version for now * export only actual (last) version for now * merge namespaces and remove unnecessary namespace qualifiers * remove namespace qualifier for gapi.client.Request from nested namespaces and change Request base interface to Promise * disable await-promise rule * fix collision between gapi.client.Request and Request from nested namespace disable no-irregular-whitespace rule * sort properties and namespace resources * remove empty comments sort resources amd methods in tests and readme.md * update 'this is autogenerated file' banner to remove this text from gapi.client namespace hint use multiline comments when comment has several lines * implement no-trailing-whitespace, no-padding, max-line-length, await-promise, no-irregular-whitespace rules * add strictFunctionTypes to tsconfig * fix "Whitespace within parentheses is not allowed" rule * fix ts-lint rules * fixes * remove deprecated replicapool and replicapoolupdater api * fix no-irregular-whitespace * fix no-irregular-whitespace
4.1 KiB
4.1 KiB
TypeScript typings for Books API v1
Searches for books and manages your Google Books library. For detailed description please check documentation.
Installing
Install typings for Books API:
npm install @types/gapi.client.books@v1 --save-dev
Usage
You need to initialize Google API client in your code:
gapi.load("client", () => {
// now we can use gapi.client
// ...
});
Then load api client wrapper:
gapi.client.load('books', 'v1', () => {
// now we can use gapi.client.books
// ...
});
Don't forget to authenticate your client before sending any request to resources:
// declare client_id registered in Google Developers Console
var client_id = '',
scope = [
// Manage your books
'https://www.googleapis.com/auth/books',
],
immediate = true;
// ...
gapi.auth.authorize({ client_id: client_id, scope: scope, immediate: immediate }, authResult => {
if (authResult && !authResult.error) {
/* handle succesfull authorization */
} else {
/* handle authorization error */
}
});
After that you can use Books API resources:
/*
Retrieves metadata for a specific bookshelf for the specified user.
*/
await gapi.client.bookshelves.get({ shelf: "shelf", userId: "userId", });
/*
Retrieves a list of public bookshelves for the specified user.
*/
await gapi.client.bookshelves.list({ userId: "userId", });
/*
*/
await gapi.client.cloudloading.addBook({ });
/*
Remove the book and its contents
*/
await gapi.client.cloudloading.deleteBook({ volumeId: "volumeId", });
/*
*/
await gapi.client.cloudloading.updateBook({ });
/*
Returns a list of offline dictionary metadata available
*/
await gapi.client.dictionary.listOfflineMetadata({ cpksver: "cpksver", });
/*
Gets the layer summary for a volume.
*/
await gapi.client.layers.get({ summaryId: "summaryId", volumeId: "volumeId", });
/*
List the layer summaries for a volume.
*/
await gapi.client.layers.list({ volumeId: "volumeId", });
/*
Gets the current settings for the user.
*/
await gapi.client.myconfig.getUserSettings({ });
/*
Release downloaded content access restriction.
*/
await gapi.client.myconfig.releaseDownloadAccess({ cpksver: "cpksver", volumeIds: "volumeIds", });
/*
Request concurrent and download access restrictions.
*/
await gapi.client.myconfig.requestAccess({ cpksver: "cpksver", nonce: "nonce", source: "source", volumeId: "volumeId", });
/*
Request downloaded content access for specified volumes on the My eBooks shelf.
*/
await gapi.client.myconfig.syncVolumeLicenses({ cpksver: "cpksver", nonce: "nonce", source: "source", });
/*
Sets the settings for the user. If a sub-object is specified, it will overwrite the existing sub-object stored in the server. Unspecified sub-objects will retain the existing value.
*/
await gapi.client.myconfig.updateUserSettings({ });
/*
Returns notification details for a given notification id.
*/
await gapi.client.notification.get({ notification_id: "notification_id", });
/*
List categories for onboarding experience.
*/
await gapi.client.onboarding.listCategories({ });
/*
List available volumes under categories for onboarding experience.
*/
await gapi.client.onboarding.listCategoryVolumes({ });
/*
Returns a stream of personalized book clusters
*/
await gapi.client.personalizedstream.get({ });
/*
*/
await gapi.client.promooffer.accept({ });
/*
*/
await gapi.client.promooffer.dismiss({ });
/*
Returns a list of promo offers available to the user
*/
await gapi.client.promooffer.get({ });
/*
Returns Series metadata for the given series ids.
*/
await gapi.client.series.get({ series_id: "series_id", });
/*
Gets volume information for a single volume.
*/
await gapi.client.volumes.get({ volumeId: "volumeId", });
/*
Performs a book search.
*/
await gapi.client.volumes.list({ q: "q", });