Cómo usar la API

Contenido

Introducción

Este documento está dirigido a desarrolladores que deseen escribir aplicaciones que puedan interactuar con la API de Libros. La misión de Google Libros es digitalizar el contenido de los libros de todo el mundo y hacer que sea más detectable en la Web. La API de Libros es una forma de buscar y acceder a ese contenido, así como de crear y ver la personalización en torno a ese contenido.

Si no conoces los conceptos de Google Libros, lee Cómo comenzar antes de comenzar a programar.

Cómo identificar solicitudes y autorizar solicitudes

Cada solicitud que tu aplicación envía a la API de Libros debe identificar tu aplicación ante 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 Libros para datos del usuario que no son públicos deben estar autorizadas por 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:

  1. 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.
  2. Activa la API de Libros en la Consola de API de Google. Si no aparece en la consola de API, omite este paso.
  3. Cuando la aplicación necesite acceder a datos del usuario, solicita a Google un alcance de acceso en particular.
  4. Google mostrará una pantalla de consentimiento al usuario, en la que le pedirá que permita a la aplicación solicitar algunos de sus datos.
  5. Si el usuario la aprueba, Google le otorgará a la aplicación un token de acceso de corta duración.
  6. La aplicación solicitará los datos del usuario y adjuntará el token de acceso a la solicitud.
  7. 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.

Esta es la 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:

  1. Abre la página Credenciales en la Consola de API.
  2. En esta API, se admiten dos tipos de credenciales. Crea las credenciales adecuadas 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 ya no existe, crea una clave de API en Console; para ello, haz clic en Crear credenciales > Clave de API. Puedes restringir la clave antes de utilizarla en producción si haces clic en Restringir clave y seleccionas 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 a métodos de la API. Existen tres tipos de ID que se usan en Google Libros:

  • ID de volumen: Son strings únicas que se le dan 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 campo id.
  • ID de las estanterías: Son valores numéricos que se proporcionan a una estantería en la biblioteca de un usuario. Google proporciona algunas bibliotecas predefinidas para cada usuario con los siguientes ID:
    • Favoritos: 0
    • Fecha de compra: 1
    • Para leer: 2
    • Leer ahora: 3
    • Leído: 4
    • Fecha de revisión: 5
    • Vistos recientemente: 6
    • Mis eBooks: 7
    • Libros para ti: 8 Si no hay recomendaciones para el usuario, esta estantería no existe.
    Las bibliotecas personalizadas tienen ID mayores que 1,000. Un ID de estantería es único para un usuario determinado, es decir, dos usuarios pueden tener una estantería con el mismo ID que hace referencia a diferentes estanterías. Puedes usar la API para obtener el ID de la estantería mediante una solicitud que muestre un recurso de Bookshelf. Puedes encontrar el ID de la estantería en su campo id.
  • ID de usuario: valores numéricos únicos asignados a cada usuario. Estos valores no son necesariamente los mismos que se usan en otros servicios de Google. Actualmente, la única manera de recuperar el ID del usuario es extraerlo del vínculo propio en un recurso de Bookshelf recuperado con una solicitud autenticada. Los usuarios también pueden obtener su propio ID de usuario del sitio de Libros. Un usuario no puede obtener el ID de usuario 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.

ID en el sitio de Google Libros

Los ID que usas con la API de Libros son los mismos que se usan en el sitio de Google Libros.

  • ID del volumen

    Cuando veas un volumen en particular en el sitio, puedes encontrar el ID de volumen en el parámetro de URL id. Por 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 del sitio, podrás encontrar su ID en el parámetro de URL as_coll. Por 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. Por 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 los libros desde ciertos países. Por ejemplo, algunos libros tienen una "vista previa" solo en los Estados Unidos; omitimos esos vínculos de vista previa para los usuarios de otros países. Por lo tanto, los resultados de la API se restringen según la dirección IP del servidor o la aplicación cliente.

Trabaja con volúmenes

Cómo realizar una búsqueda

Puedes realizar una búsqueda de volúmenes si envías una solicitud GET HTTP 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. Hay palabras clave especiales que puedes especificar en los términos de búsqueda para buscar en campos específicos, como los siguientes:
    • intitle: Muestra resultados en los que el texto que sigue a esta palabra clave se encuentra 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 el texto que sigue a esta palabra clave se encuentra en el editor.
    • 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 del Centro de bibliotecas en línea de la computadora.

Solicitud

A continuación, te mostramos un ejemplo de búsqueda de Daniel Keyes: "Flores para Algernon":

GET https://www.googleapis.com/books/v1/volumes?q=flowers+inauthor:keyes&key=yourAPIKey

Nota: No se requiere autenticación para realizar una búsqueda, por lo que no es necesario que proporciones 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 de consulta cuando realizas 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 disponible de epub. Para ello, establece en el valor epub.

El siguiente ejemplo busca libros con una descarga de 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 si estableces 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 gratuitos de Google Libros.
  • paid-ebooks: Solo muestra resultados que son Google eBooks con un precio.
  • ebooks: solo muestra resultados que son libros electrónicos de Google, pagos o gratuitos. Algunos ejemplos de libros no electrónicos son el contenido para editores, que está disponible en vista previa limitada y no está a la venta, o las revistas.

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.

Puedes usar el parámetro printType para restringir los resultados que se muestran a un tipo de publicación o impresión específico mediante la configuración de uno de los siguientes valores:

  • all: no restringe por tipo de impresión (predeterminado).
  • books: Muestra solo los 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 para especificar un conjunto predefinido de campos de volumen que se mostrarán:

  • full: Muestra todos los campos de volumen.
  • lite: Muestra solo ciertos campos. Consulta las descripciones de los campos marcadas con asteriscos dobles en la referencia de volúmenes para saber 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
Ordenamiento

De forma predeterminada, una solicitud de búsqueda de volúmenes muestra resultados de maxResults, en los que maxResults es el parámetro que se usa en la paginación (arriba), ordenado por relevancia con 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 orden según la relevancia de los términos de búsqueda (este es el valor predeterminado).
  • newest: Muestra los resultados en orden desde el más reciente hasta el más reciente 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

Recupera un volumen específico

Puedes recuperar información para un volumen específico si envías una solicitud HTTP GET al URI del recurso de volumen:

https://www.googleapis.com/books/v1/volumes/volumeId

Reemplaza el parámetro de ruta 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 es necesario 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 de forma correcta, 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 es de especial interés en determinar qué funciones están disponibles para un libro electrónico. Un epub es un libro electrónico en formato de secuencia de lectura; la sección epub tendrá una propiedad isAvailable que indicará si está disponible este tipo de libro electrónico. 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 libros de Google indica una versión del libro electrónico con páginas escaneadas con detalles similares, como si está disponible y un vínculo de descarga. Google recomienda los archivos epub para dispositivos electrónicos de lectura y smartphones, ya que las páginas escaneadas pueden ser difíciles de leer en estos dispositivos. Si no hay una sección de accessInfo, el volumen no estará disponible como libro electrónico de Google.

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 para especificar un conjunto predefinido de campos de volumen que se mostrarán:

  • full: Muestra todos los campos de volumen.
  • lite: Muestra solo ciertos campos. Consulta las descripciones de los campos marcadas con asteriscos dobles en la referencia de volúmenes para saber 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

Trabaja con estanterías

Recuperando una lista de las estanterías públicas de un usuario

Puedes recuperar una lista de las estanterías públicas de un usuario si envías 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 con el ID del usuario cuyas estanterías deseas recuperar. Consulta la sección ID 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

Debido a que un usuario no tiene que autenticarse para recuperar información sobre las estanterías públicas, no es necesario que proporciones el encabezado HTTP Authorization con la solicitud GET.

Respuesta

Si la solicitud se realiza de forma correcta, 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 estantería pública específica

Puedes recuperar una estantería pública específica si envías una solicitud HTTP GET al URI con el siguiente formato:

https://www.googleapis.com/books/v1/users/userId/bookshelves/shelf

Reemplaza los parámetros de ruta userId y shelf por los ID que especifican 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

Debido a que un usuario no tiene que autenticarse para recuperar información sobre las estanterías públicas, no es necesario que proporciones 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 estantería:

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 recuperas una estantería pública específica.

Recupera una lista de volúmenes en una estantería pública

Puedes recuperar una lista de volúmenes en la estantería pública de un usuario si envías una solicitud HTTP GET con el 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 ruta userId y shelf por los ID que especifican el usuario y la estantería que deseas recuperar. Consulta la sección ID de Google Libros para obtener más información.

Debido a que un usuario no tiene que autenticarse para recuperar información sobre las estanterías públicas, no es necesario que proporciones 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 recuperas 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.

Trabajar 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

Puedes recuperar una lista de todas las estanterías de los usuarios autenticados si envías 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 un listado de estanterías. Por lo tanto, debes proporcionar el encabezado HTTP Authorization con la solicitud GET.

Respuesta

Si la solicitud se realiza de forma correcta, 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 recuperes la lista de las estanterías de los usuarios autenticados.

Recuperando una lista de volúmenes en mi estantería

Puedes recuperar una lista de los volúmenes en la estantería del usuario autenticado mediante una solicitud HTTP GET al URI con el siguiente formato:

https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/volumes

Reemplaza el parámetro de ruta de acceso shelf por el ID de la estantería. Consulta la sección ID de Google Libros para obtener más información sobre los ID de estantería.

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 de forma correcta, el servidor responde con el código de estado HTTP 200 OK y la lista de volúmenes de la estantería:

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.

Agregando un volumen a la 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 ruta shelf por el ID de la estantería. Consulta la sección ID de Google Libros para obtener más información sobre los ID de estantería.

La solicitud tiene un único parámetro de búsqueda obligatorio:

  • volumeId: 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 para agregar "flores para 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 autenticarse 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 de forma correcta, 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 agregues un volumen a una de las estanterías del usuario autenticado.

Cómo 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 ruta de acceso shelf por el ID de la estantería. Consulta la sección ID de Google Libros para obtener más información sobre los ID de estantería.

La solicitud tiene un único parámetro de búsqueda obligatorio:

  • volumeId: 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 "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 autenticarse 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 de forma correcta, el servidor responde con un código de estado 204 No Content.

Parámetros de consulta opcionales

Puedes utilizar los parámetros de consulta estándar al eliminar un volumen de una de las estanterías del usuario autenticado.

Borrando todos los volúmenes de la estantería

Para quitar todos los volúmenes 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/clearVolumes

Reemplaza el parámetro de ruta de acceso shelf por el ID de la estantería. Consulta la sección ID de Google Libros para obtener más información sobre los ID de estantería.

Solicitud

A continuación, te mostramos un ejemplo de cómo borrar la estantería "Favoritos":

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 autenticarse 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 utilizar 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 búsqueda

Los parámetros de consulta que puedes usar con la API de Books se resumen en esta sección.Todos los valores de los parámetros deben estar codificados en URL.

Parámetros de búsqueda estándar

Los parámetros de búsqueda que se aplican a todas las operaciones de la API de Libros se documentan en Parámetros del sistema.

Parámetros de búsqueda específicos de la API

Los parámetros de solicitud que se aplican solo a operaciones específicas en la API de Libros se resumen en la siguiente tabla.

Parámetro Significado Notas Aplicabilidad
download Restringir a volúmenes por disponibilidad de descarga.
  • Actualmente, el único valor admitido es epub.
  • Es posible que se requiera una compra para acceder a la descarga.
filter Filtra los resultados de la búsqueda por tipo de volumen y disponibilidad.
  • Los filtros compatibles son los siguientes:
    • filter=partial: restringe los resultados a volúmenes en los que se pueda obtener una vista previa de al menos una parte del texto.
    • filter=full: restringe los resultados a volúmenes en los que todo el texto sea visible.
    • filter=free-ebooks - Restringe los resultados a Google eBooks gratuitos.
    • filter=paid-ebooks: restringe los resultados a Google eBooks con un precio para la compra.
    • filter=ebooks - Restringe los resultados a libros electrónicos de Google, ya sean pagos o gratuitos.Algunos ejemplos de libros que no sean libros electrónicos serían el contenido del editor que está disponible en vista previa limitada y no en venta, o las revistas.

 

langRestrict Restringe los volúmenes que se muestran a aquellos que tienen la etiqueta del idioma especificado.
  • Especifica langRestrict a un código ISO-639-1 de dos letras, como "en" o "fr" para restringir los resultados de la búsqueda a aquellos que tienen un idioma determinado.
maxResults La cantidad máxima de elementos que se mostrarán con esta solicitud.
  • Para cualquier solicitud de todos los elementos de una colección, puedes paginar los resultados si especificas startIndex y maxResults en los parámetros de la solicitud.
  • Valor predeterminado: maxResults=10
  • Valor máximo permitido: maxResults=40.
orderBy

Orden de los resultados del volumen de búsqueda.

  • De forma predeterminada, una solicitud de búsqueda muestra resultados de maxResults, en los que maxResults es el parámetro que se usa en la paginación, ordenado por los más relevantes primero.
  • Puedes cambiar el orden si configuras el parámetro orderBy para que sea uno de estos valores:
    • orderBy=relevance: Muestra los resultados de la búsqueda en orden de mayor a menor (este es el valor predeterminado).
    • orderBy=newest: Muestra los resultados de la búsqueda en orden, desde la fecha de publicación más reciente hasta la más antigua.
printType Restringir a libros o revistas
  • Los valores admitidos son los siguientes:
    • printType=all: Muestra todos los tipos de contenido de volumen (sin restricciones). Esta es la opción predeterminada.
    • printType=books: Muestra solo libros.
    • printType=magazines: Muestra solo revistas.
projection Restringe la información del volumen que se muestra a un subconjunto de campos.
  • Las proyecciones compatibles son las siguientes:
    • projection=full: Incluye todos los metadatos del volumen (predeterminado).
    • projection=lite: Incluye solo un asunto de metadatos de acceso y volumen.
q String de consulta de texto completo.
  • Cuando crees una consulta, enumera los términos de búsqueda separados por un '+ en el formato q=term1+term2_term3. (Como alternativa, puedes separarlos con un espacio, pero, al igual que con todos los valores de parámetros de consulta, los espacios deben estar codificados en URL). La API muestra todas las entradas que coinciden con todos los términos de búsqueda (como usar AND entre los términos). Al igual que la búsqueda web de Google, la API busca palabras completas (y palabras relacionadas con el mismo vástago), no substrings.
  • Para buscar una frase exacta, encierra la frase entre comillas: q="exact phrase".
  • Para excluir las entradas que coincidan con un término determinado, usa el formulario q=-term.
  • Los términos de búsqueda no distinguen entre mayúsculas y minúsculas.
  • Ejemplo: Para buscar todas las entradas que contienen la frase exacta "Elizabeth Bennet" y la palabra "Darcy", pero no contienen la palabra "Austen", usa el siguiente valor de parámetro de búsqueda:
    q="Elizabeth+Bennet"+Darcy-Austen
  • Hay palabras clave especiales (con distinción de mayúsculas y minúsculas) que puedes especificar en los términos de búsqueda para buscar en campos específicos, como los siguientes:
    • intitle: Muestra resultados en los que el texto que sigue a esta palabra clave se encuentra 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 los resultados en los que el texto que sigue a esta palabra clave se encuentra en el publicador.
    • subject: Muestra los resultados en los que el texto que sigue a esta palabra clave aparece en la lista de categorías del volumen.
    • isbn: Muestra los 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 del Centro de bibliotecas en línea de la computadora.
startIndex Posición en la colección en la que se inicia la lista de resultados.
  • Para cualquier solicitud de todos los elementos de una colección, puedes paginar los resultados si especificas startIndex y maxResults en los parámetros de la solicitud.
  • El índice del primer elemento es 0.
volumeId Identifica un volumen asociado con la solicitud.
  • Especifica el volumen para agregar o quitar de una estantería.