Liberia Google APIs Client - Servicios de Google para Python

Índice

Introducción:

En ocasiones, al momento de estar creando un proyecto, es bueno recibir ayuda, y que mejor ayuda que la de Google.

Google nos proporciona un sin fin de software y librerías que nos ayudan a nosotros los desarrolladores a crear nuestros proyectos con más facilidad, siempre me conmueve ver que Google se centra mucho en esta área. Google nos proporciona servicios como: Geolocalización, Machine Learning, BigQuery, Cloud SQL, entre muchos más.


Imagen relacionada


Google API Client es una biblioteca proporcionada por Google que nos facilita el uso de sus servicios usando un lenguaje de programación, en nuestro caso, Python. Hoy te mostrare como funciona, enseñándote los métodos básicos y su estructura, y por supuesto, veremos algunos ejemplos. ¿Listos? Pues comencemos.
Antes de continuar, necesitamos contar con las librerías necesarias:

Como habrás adivinado, necesitamos la librería API Client, la cual puedes descargar ingresando al siguiente enlace: Google APIs Client Library for Python.

Por ultimo, es necesario tener la librería oauth2client, la cual puedes descargar ingresando al siguiente enlace: OAuth 2.0 client library.


Autenticación y Credenciales:

Para poder usar los servicios de Google, necesitamos un proyecto en Google Cloud Platform, la razon es que cada usuario tiene sus propios servicios, ya que algunos requieren factorizacion, y llega un punto en donde los servicios llegan a su limite, pero esto queda en manos del presupuesto con el que cuentes.

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.


Una vez creado el proyecto, podemos conseguir nuestras credenciales que sera nuestra llave de autenticacion, al momento de utilizar un servicio.


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.

  1. Alfredo Noboa C dice:

    Excelente aporte.
    Una consulta.
    ¿El servicio es gratuito o hay que cancelar algo por el uso?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
White Monkey