Contenido
Introducción
Este documento está dirigido a desarrolladores que deseen escribir aplicaciones que puedan interactuar con la API de Books. La misión de Google Libros es digitalizar el contenido de los libros de todo el mundo y hacerlo más visible en la Web. La API de Books es una forma de buscar y acceder a ese contenido, así como de crear y ver personalización de ese contenido.
Si no estás familiarizado con los conceptos de Google Libros, te recomendamos leer Cómo comenzar antes de comenzar a escribir código.
Autoriza solicitudes e identifica tu aplicación
Cada solicitud que tu aplicación envía a la API de Libros debe identificar tu aplicación en Google. Hay dos formas de identificar tu aplicación: mediante un token OAuth 2.0 (con el que también se autoriza la solicitud) o mediante la clave de API de la aplicación. La siguiente es una explicación de cómo determinar cuáles de esas opciones puedes usar:
- Si se requiere autorización para la solicitud (como una solicitud de datos privados de un individuo), se debe utilizar la aplicación a fin de proporcionar un token OAuth 2.0 con la solicitud. Con la aplicación, también se puede proporcionar la clave de API, pero no es necesario.
- Si no se requiere autorización para la solicitud (como una solicitud de datos públicos), se debe utilizar la aplicación a fin de proporcionar la clave de API o un token de OAuth 2.0, o ambas opciones.
Acerca de los protocolos de autorización
Tu aplicación debe usar OAuth 2.0 para autorizar solicitudes. No se admiten otros protocolos de autorización. Si tu aplicación usa Acceder con Google, tú controlarás algunos aspectos de la autorización.
Solicitudes de autorización con OAuth 2.0
Las solicitudes a la API de Books para datos de usuario no públicos deben contar con la autorización de un usuario autenticado.
Los detalles del proceso de autorización, o "flujo", para OAuth 2.0 varían de alguna manera según el tipo de aplicación que estás escribiendo. El siguiente proceso general se aplica a todos los tipos de aplicación:
- Cuando crees tu aplicación, deberás registrarla con Google API Console. Luego, Google proporcionará la información que necesites más tarde, como el ID y un secreto del cliente.
- Activa la API de Books en la Consola de APIs de Google. Si no aparece en la consola de API, omite este paso.
- Cuando la aplicación necesite acceder a datos del usuario, solicita a Google un alcance de acceso en particular.
- Google mostrará una pantalla de consentimiento al usuario, en la que le pedirá que permita a la aplicación solicitar algunos de sus datos.
- Si el usuario la aprueba, Google le otorgará a la aplicación un token de acceso de corta duración.
- La aplicación solicitará los datos del usuario y adjuntará el token de acceso a la solicitud.
- Si Google determina que la solicitud y el token son válidos, mostrará los datos solicitados.
Algunos flujos requieren pasos adicionales, como el uso de tokens de actualización, para adquirir nuevos tokens de acceso. Si deseas obtener información detallada sobre los flujos para varios tipos de aplicaciones, consulta la documentación de OAuth 2.0 de Google.
A continuación, encontrarás información del alcance de OAuth 2.0 para la API de Libros:
https://www.googleapis.com/auth/books
Para solicitar acceso con OAuth 2.0, tu aplicación necesita los datos del alcance, además de la información que Google proporciona cuando registras la aplicación (como el ID y el secreto del cliente).
Sugerencia: Las bibliotecas cliente de las API de Google pueden controlar algunos de los procesos de autorización por ti. Estas están disponibles para una variedad de lenguajes de programación. Si deseas obtener más información, consulta la página que incluye bibliotecas y ejemplos.
Adquiere y usa una clave de API
Las solicitudes a la API de Libros para datos públicos deben ir acompañadas de un identificador, que puede ser una clave de API o un token de acceso.
Para adquirir una clave de API, haz lo siguiente:
- Abre la página Credenciales en la Consola de APIs.
-
En esta API, se admiten dos tipos de credenciales.
Crea las credenciales apropiadas para tu proyecto:
-
OAuth 2.0: Siempre que se soliciten datos privados del usuario, mediante tu aplicación se debe enviar un token OAuth 2.0 junto con la solicitud. En primer lugar, se envía un ID de cliente y, posiblemente, un secreto de cliente para obtener un token a través de la aplicación. Puedes generar credenciales OAuth 2.0 para aplicaciones web, cuentas de servicio o aplicaciones instaladas.
Para obtener más información, consulta la documentación de OAuth 2.0.
-
Claves de API: Una solicitud que no proporciona un token de OAuth 2.0 debe enviar una clave de API. Con la clave de API, se identifica tu proyecto y se proporciona acceso a la API, la cuota y los informes.
En la API, se admiten varios tipos de restricciones sobre las claves de API. Si la clave de API que necesitas aún no existe, crea una clave de API en la consola. Para ello, haz clic en Crear credenciales > Clave de API. Para restringir la clave antes de usarla en producción, haz clic en Restringir clave y selecciona una de las Restricciones.
-
Para garantizar la seguridad de tus claves de API, sigue las prácticas recomendadas de uso seguro de las claves de API.
Una vez que tienes una clave de API, puedes usar tu aplicación para adjuntar el parámetro de consulta key=yourAPIKey
a todas las URL de solicitud.
La clave de API en las URL se incorpora de manera segura, por lo que no necesita codificación.
ID de Google Libros
Debes especificar campos de ID con ciertas llamadas de método a la API. En Google Libros, se usan tres tipos de ID:
- ID de volumen: Cadenas únicas que se asignan a cada volumen que Google Libros conoce. Un ejemplo de un ID de volumen es
_LettPDhwR0C
. Puedes usar la API para obtener el ID de volumen mediante una solicitud que muestre un recurso de volumen; puedes encontrar el ID de volumen en su campoid
. - ID de Bookshelf: Son los valores numéricos que se asignan a una estantería en la biblioteca de un usuario. Google proporciona algunas bibliotecas predefinidas para cada usuario con los siguientes IDs:
- Favoritos: 0
- Compra: 1
- Para leer: 2
- Leyendo ahora: 3
- Se han leído: 4
- Revisados: 5
- Vistos recientemente: 6
- Mis libros electrónicos: 7
- Libros para ti: 8 Si no tenemos recomendaciones para el usuario, esta biblioteca no existe.
id
. - IDs de usuario: Son valores numéricos únicos asignados a cada usuario. Estos valores no son necesariamente el mismo valor de ID que se usa en otros servicios de Google. Actualmente, la única forma de recuperar el ID de usuario es extraerlo del selfLink en un recurso de Bookshelf recuperado con una solicitud autenticada. Los usuarios también pueden obtener su propio ID de usuario en el sitio de Libros. Un usuario no puede obtener el ID de otro usuario a través de la API o del sitio de Libros; el otro usuario tendría que compartir esa información de manera explícita, por ejemplo, por correo electrónico.
IDs en el sitio de Google Libros
Los IDs que usas con la API de Books son los mismos que se usan en el sitio de Google Libros.
- ID de volumen
Cuando consultas un volumen específico en el sitio, puedes encontrar el ID del volumen en el parámetro de URL
id
. Este es un ejemplo:https://books.google.com/ebooks?id=buc0AAAAMAAJ&dq=holmes&as_brr=4&source=webstore_bookcard
- ID de Bookshelf
Cuando veas una estantería en particular en el sitio, puedes encontrar el ID de la estantería en el parámetro de URL
as_coll
. Este es un ejemplo:https://books.google.com/books?hl=en&as_coll=0&num=10&uid=11122233344455566778&source=gbs_slider_cls_metadata_0_mylibrary
- ID de usuario
Cuando veas tu biblioteca en el sitio, podrás encontrar el ID del usuario en el parámetro de URL
uid
. Este es un ejemplo:https://books.google.com/books?uid=11122233344455566778&source=gbs_lp_bookshelf_list
Configuración de la ubicación del usuario
Google Libros respeta los derechos de autor, los contratos y otras restricciones legales asociadas con la ubicación del usuario final. Como resultado, es posible que algunos usuarios no puedan acceder al contenido de libros de ciertos países. Por ejemplo, algunos libros permiten obtener una vista previa solo en Estados Unidos. Omitimos estos vínculos para los usuarios de otros países. Por lo tanto, los resultados de la API están restringidos en función de la dirección IP de tu servidor o aplicación cliente.
Trabaja con volúmenes
Cómo realizar una búsqueda
Para realizar una búsqueda de volúmenes, envía una solicitud HTTP GET
al siguiente URI:
https://www.googleapis.com/books/v1/volumes?q=search+terms
Esta solicitud tiene un solo parámetro obligatorio:
q
: Busca volúmenes que contengan esta string de texto. Puedes especificar palabras clave especiales en los términos de búsqueda para buscar en campos específicos, como los siguientes:intitle:
Muestra resultados en los que se encuentra el texto que sigue a esta palabra clave en el título.inauthor:
Muestra resultados en los que el texto que sigue a esta palabra clave se encuentra en el autor.inpublisher:
Muestra resultados en los que se encuentra en el editor el texto que sigue a esta palabra clave.subject:
Muestra resultados en los que el texto que sigue a esta palabra clave aparece en la lista de categorías del volumen.isbn:
Muestra resultados en los que el texto que sigue a esta palabra clave es el número ISBN.lccn:
Muestra resultados en los que el texto que sigue a esta palabra clave es el número de control de la Biblioteca del Congreso.oclc:
Muestra resultados en los que el texto que sigue a esta palabra clave es el número de Online Computer Library Center.
Solicitud
A continuación, se muestra un ejemplo de una búsqueda de "Flores de Algernon" de Daniel Keyes:
GET https://www.googleapis.com/books/v1/volumes?q=flowers+inauthor:keyes&key=yourAPIKey
Nota: Realizar una búsqueda no requiere autenticación, por lo que no tienes que proporcionar el encabezado HTTP Authorization
con la solicitud GET
. Sin embargo, si la llamada se realiza con autenticación, cada volumen incluirá información específica del usuario, como el estado de compra.
Respuesta
Si la solicitud se realiza correctamente, el servidor responde con un código de estado HTTP 200 OK
y los resultados del volumen:
200 OK { "kind": "books#volumes", "items": [ { "kind": "books#volume", "id": "_ojXNuzgHRcC", "etag": "OTD2tB19qn4", "selfLink": "https://www.googleapis.com/books/v1/volumes/_ojXNuzgHRcC", "volumeInfo": { "title": "Flowers", "authors": [ "Vijaya Khisty Bodach" ], ... }, { "kind": "books#volume", "id": "RJxWIQOvoZUC", "etag": "NsxMT6kCCVs", "selfLink": "https://www.googleapis.com/books/v1/volumes/RJxWIQOvoZUC", "volumeInfo": { "title": "Flowers", "authors": [ "Gail Saunders-Smith" ], ... }, { "kind": "books#volume", "id": "zaRoX10_UsMC", "etag": "pm1sLMgKfMA", "selfLink": "https://www.googleapis.com/books/v1/volumes/zaRoX10_UsMC", "volumeInfo": { "title": "Flowers", "authors": [ "Paul McEvoy" ], ... }, "totalItems": 3 }
Parámetros de consulta opcionales
Además de los parámetros de consulta estándar, puedes usar los siguientes parámetros cuando realices una búsqueda de volúmenes.
Formato de descarga
Usa el parámetro download
para restringir los resultados que se muestran a los volúmenes que tienen un formato de descarga epub
disponible. Para ello, configura
en el valor epub
.
En el siguiente ejemplo, se buscan libros con la descarga de un archivo epub disponible:
GET https://www.googleapis.com/books/v1/volumes?q=pride+prejudice&download=epub&key=yourAPIKey
Filtros
Puedes usar el parámetro filter
para restringir aún más los resultados que se muestran y establecerlo en uno de los siguientes valores:
partial
: Muestra resultados en los que se puede obtener una vista previa de al menos partes del texto.full
: Solo muestra resultados en los que todo el texto es visible.free-ebooks
: Solo muestra resultados que son libros electrónicos gratuitos de Google.paid-ebooks
: Solo muestra resultados que son de Google Libros con un precio.ebooks
: Solo muestra resultados que son de Google Libros, pagados o gratuitos. Algunos ejemplos de este tipo de libros son las revistas o el contenido de editores que está disponible en versión preliminar limitada y no para la venta.
En el siguiente ejemplo, se restringen los resultados de la búsqueda a aquellos disponibles como libros electrónicos gratuitos:
GET https://www.googleapis.com/books/v1/volumes?q=flowers&filter=free-ebooks&key=yourAPIKey
Paginación
Puedes paginar la lista de volúmenes si especificas dos valores en los parámetros para la solicitud:
startIndex
: Es la posición en la colección en la que se inicia. El índice del primer elemento es 0.maxResults
: Es la cantidad máxima de resultados que se mostrarán. El valor predeterminado es 10 y el valor máximo permitido es 40.
Tipo de impresión
Puedes usar el parámetro printType
para restringir los resultados que se muestran a un tipo específico de impresión o publicación configurándolo en uno de los siguientes valores:
all
: No restringe por tipo de impresión (predeterminado).books
: Muestra solo resultados que son libros.magazines
: Muestra resultados que son revistas.
En el siguiente ejemplo, se restringen los resultados de la búsqueda a revistas:
GET https://www.googleapis.com/books/v1/volumes?q=time&printType=magazines&key=yourAPIKey
Proyección
Puedes usar el parámetro projection
con uno de los siguientes valores a fin de especificar un conjunto predefinido de campos de Volume para mostrar:
full
: Muestra todos los campos de volumen.lite
: Muestra solo ciertos campos. Consulta las descripciones de los campos marcados con asteriscos dobles en la referencia del volumen para averiguar qué campos se incluyen.
En el siguiente ejemplo, se muestran resultados de la búsqueda con información de volumen limitado:
GET https://www.googleapis.com/books/v1/volumes?q=flowers&projection=lite&key=yourAPIKey
Ordena
De forma predeterminada, una solicitud de búsqueda de volúmenes muestra resultados maxResults
, en los que maxResults
es el parámetro que se usó en la paginación (arriba), ordenado por relevancia para los términos de búsqueda.
Puedes cambiar el orden si configuras el parámetro orderBy
para que sea uno de estos valores:
relevance
: Muestra los resultados en el orden de relevancia de los términos de búsqueda (este es el valor predeterminado).newest
: Muestra los resultados en orden del más al menos publicado.
En el siguiente ejemplo, se enumeran los resultados por fecha de publicación, del más reciente al más antiguo:
GET https://www.googleapis.com/books/v1/volumes?q=flowers&orderBy=newest&key=yourAPIKey
Cómo recuperar un volumen específico
Puedes recuperar información de un volumen específico si envías una solicitud HTTP GET
al URI de recursos de volumen:
https://www.googleapis.com/books/v1/volumes/volumeId
Reemplaza el parámetro de la ruta de acceso volumeId
por el ID del volumen que deseas recuperar. Consulta la sección ID de Google Libros para obtener más información sobre los ID de volumen.
Solicitud
Este es un ejemplo de una solicitud GET
que obtiene un solo volumen:
GET https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC?key=yourAPIKey
Nota: La recuperación de información de volumen no requiere autenticación, por lo que no tienes que proporcionar el encabezado HTTP Authorization
con la solicitud GET
. Sin embargo, si la llamada se realiza con autenticación, el volumen incluirá información específica del usuario, como el estado de compra.
Respuesta
Si la solicitud se realiza correctamente, el servidor responde con el código de estado HTTP 200 OK
y el recurso de volumen solicitado:
200 OK { "kind": "books#volume", "id": "zyTCAlFPjgYC", "etag": "f0zKg75Mx/I", "selfLink": "https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC", "volumeInfo": { "title": "The Google story", "authors": [ "David A. Vise", "Mark Malseed" ], "publisher": "Random House Digital, Inc.", "publishedDate": "2005-11-15", "description": "\"Here is the story behind one of the most remarkable Internet successes of our time. Based on scrupulous research and extraordinary access to Google, ...", "industryIdentifiers": [ { "type": "ISBN_10", "identifier": "055380457X" }, { "type": "ISBN_13", "identifier": "9780553804577" } ], "pageCount": 207, "dimensions": { "height": "24.00 cm", "width": "16.03 cm", "thickness": "2.74 cm" }, "printType": "BOOK", "mainCategory": "Business & Economics / Entrepreneurship", "categories": [ "Browsers (Computer programs)", ... ], "averageRating": 3.5, "ratingsCount": 136, "contentVersion": "1.1.0.0.preview.2", "imageLinks": { "smallThumbnail": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api", "thumbnail": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api", "small": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=2&edge=curl&source=gbs_api", "medium": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=3&edge=curl&source=gbs_api", "large": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=4&edge=curl&source=gbs_api", "extraLarge": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=6&edge=curl&source=gbs_api" }, "language": "en", "infoLink": "https://books.google.com/books?id=zyTCAlFPjgYC&ie=ISO-8859-1&source=gbs_api", "canonicalVolumeLink": "https://books.google.com/books/about/The_Google_story.html?id=zyTCAlFPjgYC" }, "saleInfo": { "country": "US", "saleability": "FOR_SALE", "isEbook": true, "listPrice": { "amount": 11.99, "currencyCode": "USD" }, "retailPrice": { "amount": 11.99, "currencyCode": "USD" }, "buyLink": "https://books.google.com/books?id=zyTCAlFPjgYC&ie=ISO-8859-1&buy=&source=gbs_api" }, "accessInfo": { "country": "US", "viewability": "PARTIAL", "embeddable": true, "publicDomain": false, "textToSpeechPermission": "ALLOWED_FOR_ACCESSIBILITY", "epub": { "isAvailable": true, "acsTokenLink": "https://books.google.com/books/download/The_Google_story-sample-epub.acsm?id=zyTCAlFPjgYC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api" }, "pdf": { "isAvailable": false }, "accessViewStatus": "SAMPLE" } }
Información de acceso
La sección accessInfo
tiene particular interés para determinar qué funciones están disponibles para un libro electrónico. epub
es un libro electrónico en formato de texto fluido. La sección epub
tendrá una propiedad isAvailable
que indica si este tipo de libro electrónico está disponible.
Tendrá un vínculo de descarga si hay una muestra del libro o si el usuario puede leerlo debido a que lo compró o a que es de dominio público en la ubicación del usuario. Un pdf
para Google Libros indica una versión de páginas escaneadas del libro electrónico con detalles similares, como si está disponible y un vínculo de descarga. Google recomienda archivos epub
para lectores de libros electrónicos y smartphones, ya que las páginas escaneadas pueden ser difíciles de leer en estos dispositivos.
Si no hay una sección accessInfo
, el volumen no estará disponible como Google libro electrónico.
Parámetros de consulta opcionales
Además de los parámetros de consulta estándar, puedes usar el siguiente parámetro de consulta cuando recuperas un volumen específico.
Proyección
Puedes usar el parámetro projection
con uno de los siguientes valores a fin de especificar un conjunto predefinido de campos de Volume para mostrar:
full
: Muestra todos los campos de volumen.lite
: Muestra solo ciertos campos. Consulta las descripciones de los campos marcados con asteriscos dobles en la referencia del volumen para averiguar qué campos se incluyen.
En el siguiente ejemplo, se muestra información de volumen limitado para un solo volumen:
GET https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC?projection=lite&key=yourAPIKey
Trabajo con estanterías
Recuperar una lista de las estanterías públicas de un usuario
Para recuperar una lista de las estanterías públicas de un usuario, envía una solicitud GET
HTTP al URI con el siguiente formato:
https://www.googleapis.com/books/v1/users/userId/bookshelves
Reemplaza el parámetro de ruta de acceso userId por el ID del usuario cuyas estanterías deseas recuperar. Consulta la sección IDs de Google Libros para obtener más información sobre los ID de usuario.
Solicitud
A continuación, se muestra un ejemplo:
GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves&key=yourAPIKey
Como no es necesario autenticar a un usuario para recuperar información sobre las estanterías públicas, no debes proporcionar el encabezado HTTP Authorization
con la solicitud GET
.
Respuesta
Si la solicitud se realiza correctamente, el servidor responde con el código de estado HTTP 200 OK
y la lista de estanterías:
200 OK { "kind": "books#bookshelves", "items": [ { ... }, { "kind": "books#bookshelf", "id": 3, "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3", "title": "Reading now", "description": "", "access": "PUBLIC", "updated": "2011-02-02T20:34:20.146Z", "created": "2011-02-02T20:34:20.146Z", "volumeCount": 2, "volumesLastUpdated": "2011-02-02T20:34:20.110Z" }, ... ] }
Parámetros de consulta opcionales
Puedes usar los parámetros de consulta estándar cuando recuperas la lista de las estanterías públicas de un usuario.
Recuperar una biblioteca pública específica
Para recuperar una biblioteca pública específica, envía una solicitud GET
HTTP al URI con el siguiente formato:
https://www.googleapis.com/books/v1/users/userId/bookshelves/shelf
Reemplaza los parámetros de la ruta de acceso userId y shelf por los ID que especifiquen el usuario y la estantería que deseas recuperar. Consulta la sección ID de Google Libros para obtener más información.
Solicitud
A continuación, se muestra un ejemplo:
GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3?key=yourAPIKey
Como no es necesario autenticar a un usuario para recuperar información sobre las estanterías públicas, no debes proporcionar el encabezado HTTP Authorization
con la solicitud GET
.
Respuesta
Si la solicitud se realiza correctamente, el servidor responde con el código de estado HTTP 200 OK
y el recurso de la biblioteca:
200 OK { "kind": "books#bookshelf", "id": 3, "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3", "title": "Reading now", "description": "", "access": "PUBLIC", "updated": "2011-02-02T20:34:20.146Z", "created": "2011-02-02T20:34:20.146Z", "volumeCount": 2, "volumesLastUpdated": "2011-02-02T20:34:20.110Z" }
Parámetros de consulta opcionales
Puedes usar los parámetros de consulta estándar cuando recuperes una biblioteca pública específica.
Recuperar una lista de volúmenes en una estantería pública
Para recuperar una lista de volúmenes en la estantería pública de un usuario, envía una solicitud HTTP GET
al URI con el siguiente formato:
https://www.googleapis.com/books/v1/user/userId/bookshelves/shelf/volumes
Solicitud
A continuación, se muestra un ejemplo:
GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3/volumes?key=yourAPIKey
Reemplaza los parámetros de la ruta de acceso userId y shelf por los ID que especifiquen el usuario y la estantería que deseas recuperar. Consulta la sección ID de Google Libros para obtener más información.
Como no es necesario autenticar a un usuario para recuperar información sobre las estanterías públicas, no debes proporcionar el encabezado HTTP Authorization
con la solicitud GET
.
Respuesta
Si la solicitud se realiza correctamente, el servidor responde con un código de estado HTTP 200 OK
y la lista de las estanterías del usuario:
200 OK { "kind": "books#volumes", "items": [ { "kind": "books#volume", "id": "AZ5J6B1-4BoC", "etag": "kIzQA7IUObk", "selfLink": "https://www.googleapis.com/books/v1/volumes/AZ5J6B1-4BoC", "volumeInfo": { "title": "The Girl Who Kicked the Hornet's Nest", "authors": [ "Stieg Larsson" ], "publisher": "Knopf", "publishedDate": "2010-05-25", ... }, { "kind": "books#volume", "id": "UvK1Slvkz3MC", "etag": "otKmdbRgdFQ", "selfLink": "https://www.googleapis.com/books/v1/volumes/UvK1Slvkz3MC", "volumeInfo": { "title": "The Girl who Played with Fire", "authors": [ "Stieg Larsson" ], "publisher": "Knopf", "publishedDate": "2009-07-28", ... }, { "kind": "books#volume", "id": "OBM3AAAAIAAJ", "etag": "xb47kTr8HsQ", "selfLink": "https://www.googleapis.com/books/v1/volumes/OBM3AAAAIAAJ", "volumeInfo": { "title": "The Sign of Four", "authors": [ "Sir Arthur Conan Doyle" ], "publishedDate": "1890", ... } ], "totalItems": 3 }
Parámetros de consulta opcionales
Además de los parámetros de consulta estándar, puedes usar el siguiente parámetro de consulta cuando recuperes una lista de volúmenes en una estantería pública.
Paginación
Puedes paginar la lista de volúmenes si especificas dos valores en los parámetros para la solicitud:
startIndex
: Es la posición en la colección en la que se inicia. El índice del primer elemento es 0.maxResults
: Es la cantidad máxima de resultados que se mostrarán. El valor predeterminado es 10 y el valor máximo permitido es 40.
Trabajo con estanterías en "Mi biblioteca"
Todas las solicitudes de "Mi biblioteca" se aplican a los datos del usuario autenticado.
Recuperar una lista de mis estanterías
Para recuperar una lista de todas las estanterías del usuario autenticado, envía una solicitud GET
HTTP al URI con el siguiente formato:
https://www.googleapis.com/books/v1/mylibrary/bookshelves
Solicitud
A continuación, se muestra un ejemplo:
GET https://www.googleapis.com/books/v1/mylibrary/bookshelves?key=yourAPIKey Authorization: /* auth token here */
Nota: El usuario debe estar autenticado para recuperar una lista de las estanterías de "Mi biblioteca". Por lo tanto, debes proporcionar el encabezado HTTP Authorization
con la solicitud GET
.
Respuesta
Si la solicitud se realiza correctamente, el servidor responde con el código de estado HTTP 200 OK
y la lista de todas las estanterías del usuario autenticado actual:
200 OK { "kind": "books#bookshelves", "items": [ { "kind": "books#bookshelf", "id": 0, "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/0", "title": "Favorites", "access": "PRIVATE", "updated": "2011-04-22T04:03:15.416Z", "created": "2011-04-22T04:03:15.416Z", "volumeCount": 0, "volumesLastUpdated": "2011-04-22T04:03:17.000Z" }, { "kind": "books#bookshelf", "id": 3, "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3", "title": "Reading now", "access": "PUBLIC", "updated": "2010-11-11T19:44:22.377Z", "created": "2010-11-11T19:44:22.377Z", "volumeCount": 1, "volumesLastUpdated": "2010-11-11T19:44:22.341Z" } ] }
Parámetros de consulta opcionales
Puedes usar los parámetros de consulta estándar cuando recuperas la lista de las estanterías del usuario autenticado.
Recuperar una lista de volúmenes en mi estantería
Para recuperar una lista de los volúmenes en la estantería del usuario autenticado, envía una solicitud GET
HTTP al URI con el siguiente formato:
https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/volumes
Reemplaza el parámetro de la ruta de acceso shelf por el ID de la estantería. Consulta la sección ID de libros de Google para obtener más información sobre los ID de estanterías.
Solicitud
A continuación, se muestra un ejemplo:
GET https://www.googleapis.com/books/v1/mylibrary/bookshelves/7/volumes?key=yourAPIKey Authorization: /* auth token here */
Nota: El usuario debe estar autenticado para recuperar una lista de volúmenes de "Mi biblioteca". Por lo tanto, debes proporcionar el encabezado HTTP Authorization
con la solicitud GET
.
Respuesta
Si la solicitud se realiza correctamente, el servidor responde con el código de estado HTTP 200 OK
y la lista de volúmenes de estanterías:
200 OK { "kind": "books#volumes", "items": [ { "kind": "books#volume", "id": "AZ5J6B1-4BoC", "etag": "kIzQA7IUObk", "selfLink": "https://www.googleapis.com/books/v1/volumes/AZ5J6B1-4BoC", "volumeInfo": { "title": "The Girl Who Kicked the Hornet's Nest", "authors": [ "Stieg Larsson" ], "publisher": "Knopf", "publishedDate": "2010-05-25", ... }, { "kind": "books#volume", "id": "UvK1Slvkz3MC", "etag": "otKmdbRgdFQ", "selfLink": "https://www.googleapis.com/books/v1/volumes/UvK1Slvkz3MC", "volumeInfo": { "title": "The Girl who Played with Fire", "authors": [ "Stieg Larsson" ], "publisher": "Knopf", "publishedDate": "2009-07-28", ... }, { "kind": "books#volume", "id": "OBM3AAAAIAAJ", "etag": "xb47kTr8HsQ", "selfLink": "https://www.googleapis.com/books/v1/volumes/OBM3AAAAIAAJ", "volumeInfo": { "title": "The Sign of Four", "authors": [ "Sir Arthur Conan Doyle" ], "publishedDate": "1890", ... } ], "totalItems": 3 }
Parámetros de consulta opcionales
Además de los parámetros de consulta estándar, puedes usar el siguiente parámetro de consulta cuando recuperas una lista de volúmenes en una de las estanterías del usuario autenticado.
Paginación
Puedes paginar la lista de volúmenes si especificas dos valores en los parámetros para la solicitud:
startIndex
: Es la posición en la colección en la que se inicia. El índice del primer elemento es 0.maxResults
: Es la cantidad máxima de resultados que se mostrarán. El valor predeterminado es 10.
Agregar un volumen a mi estantería
Para agregar un volumen a la estantería del usuario autenticado, envía una solicitud POST
HTTP al URI con el siguiente formato:
https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/addVolume
Reemplaza el parámetro de la ruta de acceso shelf por el ID de la estantería. Consulta la sección ID de libros de Google para obtener más información sobre los ID de estanterías.
La solicitud tiene un solo parámetro de consulta obligatorio:
volumeId
: Es el ID del volumen. Consulta la sección ID de Google Libros para obtener más información sobre los ID de volumen.
Solicitud
Este es un ejemplo de cómo agregar "Flores de Algernon" a la estantería "Favoritos":
POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/addVolume?volumeId=NRWlitmahXkC&key=yourAPIKey Authorization: /* auth token here */ Content-Type: application/json Content-Length: CONTENT_LENGTH
Nota: El usuario debe estar autenticado para realizar modificaciones en una estantería, por lo que debes proporcionar el encabezado HTTP Authorization
con la solicitud POST
. Sin embargo, no se requieren datos con este POST
.
Respuesta
Si la solicitud se realiza correctamente, el servidor responde con el código de estado HTTP 204 No Content
.
Parámetros de consulta opcionales
Puedes usar los parámetros de consulta estándar cuando agregas un volumen a una de las estanterías del usuario autenticado.
Quitar un volumen de la estantería
Para quitar un volumen de la estantería del usuario autenticado, envía un POST
HTTP al URI con el siguiente formato:
https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/removeVolume
Reemplaza el parámetro de la ruta de acceso shelf por el ID de la estantería. Consulta la sección ID de libros de Google para obtener más información sobre los ID de estanterías.
La solicitud tiene un solo parámetro de consulta obligatorio:
volumeId
: Es el ID del volumen. Consulta la sección ID de Google Libros para obtener más información sobre los ID de volumen.
Solicitud
A continuación, te mostramos un ejemplo de cómo quitar "Flores de Algernon" de la estantería "Favoritos":
POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/removeVolume?volumeId=NRWlitmahXkC&key=yourAPIKey Authorization: /* auth token here */ Content-Type: application/json Content-Length: CONTENT_LENGTH
Nota: El usuario debe estar autenticado para realizar modificaciones en una estantería, por lo que debes proporcionar el encabezado HTTP Authorization
con la solicitud POST
. Sin embargo, no se requieren datos con este POST
.
Respuesta
Si la solicitud se realiza correctamente, el servidor responde con un código de estado 204 No Content
.
Parámetros de consulta opcionales
Puedes usar los parámetros de consulta estándar cuando quitas un volumen de una de las estanterías del usuario autenticado.
Borrar todos los volúmenes de la estantería
Para quitar todos los volúmenes de la biblioteca del usuario autenticado, envía un POST
HTTP al URI con el siguiente formato:
https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/clearVolumes
Reemplaza el parámetro de la ruta de acceso shelf por el ID de la estantería. Consulta la sección ID de libros de Google para obtener más información sobre los ID de estanterías.
Solicitud
Este es un ejemplo de cómo borrar la estantería "Favorites":
POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/clearVolumes?key=yourAPIKey Authorization: /* auth token here */ Content-Type: application/json Content-Length: CONTENT_LENGTH
Nota: El usuario debe estar autenticado para realizar modificaciones en una estantería, por lo que debes proporcionar el encabezado HTTP Authorization
con la solicitud POST
. Sin embargo, no se requieren datos con este POST
.
Respuesta
Si la solicitud se realiza correctamente, el servidor responde con un código de estado 204 No Content
.
Parámetros de consulta opcionales
Puedes usar los parámetros de consulta estándar cuando borres todos los volúmenes de una de las estanterías del usuario autenticado.
Referencia del parámetro de consulta
En esta sección, se resumen los parámetros de consulta que puedes usar con la API de Books.Todos los valores de los parámetros deben estar codificados en formato URL.
Parámetros de búsqueda estándar
Los parámetros de consulta que se aplican a todas las operaciones de la API de Libros se documentan en Parámetros del sistema.
Parámetros de consulta específicos de la API
En la siguiente tabla, se resumen los parámetros de solicitud que se aplican solo a operaciones específicas en la API de Libros.
Parámetro | Significado | Notas | Aplicabilidad |
---|---|---|---|
download |
Restringir a volúmenes según la disponibilidad de descarga. |
|
|
filter |
Filtra los resultados de la búsqueda por tipo de volumen y disponibilidad. |
|
|
langRestrict |
Restringe los volúmenes que se muestran a los que están etiquetados con el idioma especificado. |
|
|
maxResults |
La cantidad máxima de elementos que se mostrarán con esta solicitud. |
|
|
orderBy |
Orden de los resultados de búsqueda de volumen. |
|
|
printType |
Limitar a libros o revistas. |
|
|
projection |
Restringe la información del volumen que se muestra a un subconjunto de campos. |
|
|
q |
Cadena de consulta de texto completo. |
|
|
startIndex |
Es la posición en la colección en la que se inicia la lista de resultados. |
|
|
volumeId |
Identifica un volumen asociado con la solicitud. |
|