Liberia Google APIs Client - Servicios de Google para Python
Introducción:
Autenticación y Credenciales:
Lo importante es saber que necesitamos una API key, la cual identificara a nuestro proyecto. Si aun no cuentas con un proyecto Google, puedes crearlo ingresando al siguiente enlace: Crear Proyecto Google.
Para crear nuestras credenciales nos vamos a la sección "Credenciales" de "API y Servicios", o pueden ingresar al siguiente enlace: Crear credenciales.
Al dar click en "Crear Credenciales", tendremos que elegir entre 4 opciones, en nuestro caso elegiremos "Clave API", con la cual se identificara nuestro proyecto.
Luego veremos lo siguiente:
Luego de esto nuestra API key habrá sido creada, por cuestiones de seguridad, con mis habilidades especiales de edición, oculte mi clave de API.
Mu bien, ya tenemos nuestra clave de API, que es la que identifica a nuestro proyecto.
Muchos estarán ansiosos por escribir código, pero nos hace falta una parte importante, la cual es habilitar los servicios que usaremos.
En el día de hoy, te mostrare un ejemplo de un código que utiliza el servicio de Google Books, crearemos un pequeño programa que busque y nos muestra una gran información sobre libros que se encuentran en Google Books.
Para ello necesitamos habilitar ete servicio, para ello nos dirigimos a "API y Servicios", o bien, pueden ingresar al siguiente enlace: Biblioteca de API.
Como pueden observar hay una gran cantidad de servicios ordenados por categoría, en nuestro caso buscaremos el servicio "Google Books API".
Hacemos click sobre Google Books API, y nos redirigirá a la siguiente pagina:
La pagina nos muestra la informacion sobre el servicio, su descripcion, su ultima actualizacion y nos muestra un enlace en donde se encuentra la documentacion de la API.
Si das click en el botón "PRUEBA ESTA API", seras redirigido a una pagina con la referencia del servicio, en donde se encuentran sus métodos.
En nuestro caso daremos click en "HABILITAR", para habilitar el servicio, de esa manera
al usar la clave de API, se sabrá que que hemos dado permiso a nuestro proyecto a usar el servicio.
Luego de habilitar la API, veremos el panel de control del servicio, en donde podemos inhabilitar la API y poder ver información de las peticiones se le a hecho al servicio, volveremos a esta pagina luego.
Muy bien, ya tenemos nuestro proyecto listo, ya lo hemos capacitado para su uso desde nuestra consola de Python. Ya tenemos la llave para autorizar el uso de los servicios desde nuestro código.
El Buscador de Libros:
Llego la hora de escribir código!!! Ahora queda de tu parte elegir tu entorno preferido, ya sea la linea de comando, o tu IDE preferido, por elección propio yo usare como entorno el editor de texto "Sublime Text 3".
El ejemplo de hoy, sera un programa que busque dentro del repositorio de Google Books, los libros de tu preferencia, el resultado sera una gran variedad de libros con su información correspondiente.
Muy bien, comencemos, lo primero que haremos sera importar las librerías necesarias, usaremos la "googleapiclient.discovery", de la cual importaremos a "build", también usaremos el modulo "pprint", veamos como nos queda esto.
Se preguntaran ¿Por que build?, se los explico en un momento.
Luego de tener acceso a las librerías necesarias, declararemos una variable llamada "api_key", ¿Adivinen que almacenara?, en esta variable guardaremos la clave de API creada anteriormente.
Como pueden observar no e colocado mi clave de API, ustedes deben colocar la verdadera.
Muy bien ahora sí, ¿Que es Build?. La función build se usa para crear un objeto de servicio, toma un nombre de API, una versión de API y el "developerkey" como argumentos. Entonces, usemos a build para crear nuestro primer servicio:
A nuestro servicio lo e nombrado "service" (servicio en ingles), en el primer argumento que es el nombre de la API e colocado "books", ya que es el servicio que estaremos usando, en el segundo argumento le estoy diciendo al servicio la versión de la API, en este caso "v1" y por ultimo, la "develperkey", que es nuestra clave de API.
Este servicio me dará la autorización de poder usar la información que le estoy pidiendo.
Muy bien, ya le dije a Google que quiero buscar entre sus libros, pero ¿Que libro específicamente?.
La API Books tiene un método de volumen().list() que se utiliza para enumerar los
criterios de búsqueda de libros.
Los argumentos proporcionados son:
volumes source ('public') y query ('Titulo del Libro').
El método devuelve un objeto apiclient.http.HttpRequest que encapsula toda la información necesaria para realizar la solicitud, pero no llama a la API.
De esa forma nos quedaría el código. Como pueden observar en el argumento query (que se identifica como q) e colocado la palabra "python", Google me devolverá los libros que contengan la palabra "python" en su nombre, por supuesto que puedes colocar el titulo del libro que desees.
Muy bien, prosigamos:
La función execute devuelve un objeto Python creado a partir de la respuesta JSON.
Esta respuesta la podemos mostrar usando la función pprint.
Bueno, ya podríamos ejecutar nuestro script, pero antes, mostrare todos los títulos de los libros y la cantidad de libros encontrados.
Bien, hora de ejecutar nuestro programa:
Como pueden ver, el resultado es justo lo que esperábamos, si subimos un poco, veremos la información de cada uno de los libros encontrados:
Como pueden observar, hay una gran cantidad de información, esto es solo una parte de ella, vemos la categoría del libro, su descripción, link de imagen, numero de paginas, fecha de publicación, link del libro, y mucho más.
Ahora queda de tu parte, usar este servicio para crear buenos proyectos, si vamos al panel de control de Google Books API veremos la actividad del servicio que acabamos de usar:
Si quieres el código completo del ejemplo de hoy, ingresa al siguiente enlace: Codigo de "Buscador de Libros.py".
Bueno, así de fácil se pueden usar los servicios de Google, ya queda de tu parte investigar más, usar otros servicios, y compartir tu experiencia con nosotros en los comentarios.
Espero que valores el trabajo que hago, parecerá fácil, pero no lo es, trato de explicar hasta la más mínima cosa, ya que de esa manera sabemos como funciona de verdad el código, pero por supuesto, a veces se me pasa algo por alto, si tienes alguna duda, puedes compartirla con migo y con gusto te ayudare.
Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.
Deja una respuesta
Excelente aporte.
Una consulta.
¿El servicio es gratuito o hay que cancelar algo por el uso?