Versión: 2.x, 3.x.
A través del servicio goo.gl Google nos proporciona una herramienta para acortar URLs en direcciones más pequeñas y fáciles de compartir. Utilizando la API y el módulo Requests podemos acceder a esta funcionalidad directamente desde Python.
Requisitos
Estaremos utilizando Requests para realizar peticiones POST y GET al servicio de Google. Puede ser instalado vía pip.
pip install requests
O bien puedes descargar el código de fuente desde este enlace y ejecutar:
python setup.py install
Además, necesitaremos obtener una clave para poder utilizar la API de Google…
Obtener una clave
Deberás dirigirte a la Consola de Desarrolladores de Google e ingresar con tu cuenta. Hecho esto, procedemos a habilitar la API.
Se desplegará una lista con los diversos servicios, seleccionaremos URL Shortener API como se indica en la siguiente imagen.
Luego, la habilitamos.
Y nos dirigimos a la configuración de las credenciales.
En donde debemos indicar la configuración deseada. En primer lugar indicaremos que queremos utilizar el servicio para acortar URLs (URL Shortener API).
Luego, desde dónde llamaremos a la API y a qué tipo de datos queremos acceder. En mi caso, seleccionaré Otra entidad que no sea IU y Datos públicos. Continuamos y ya tendremos nuestra clave de acceso creada, que se verá más o menos de la siguiente forma:
AIzaSyBT_Xq1Vf6scSTUb3KtFf2sScbF0OljnYX
Ejemplos
Una vez instalado Requests y habilitada la API, acortamos una dirección de URL realizando una petición POST
con el siguiente código. Recuerda reemplazar mi_clave_de_acceso
por la clave que has obtenido en el apartado anterior y https://www.recursospython.com/
por la URL que quieras acortar.
import requests r = requests.post("https://www.googleapis.com/urlshortener/v1/url", params={"key": "mi_clave_de_acceso"}, data='{"longUrl": "https://www.recursospython.com/"}', headers={"Content-Type": "application/json"})
Ahora r
es una instancia de la clase requests.Response
. Obtenemos el resultado convirtiendo la respuesta a un diccionario y accediendo al valor id
.
# Imprime http://goo.gl/Ygn6wr print(r.json()["id"])
De forma análoga, podemos expandir una URL acortada realizando una petición GET
.
r = requests.get("https://www.googleapis.com/urlshortener/v1/url", params={ "key": "mi_clave_de_acceso", "shortUrl": "http://goo.gl/Ygn6wr"}) # Imprime https://www.recursospython.com/ print(r.json()["longUrl"])
Generalmente la API de Google provee una cantidad de 1.000.000 de peticiones por día. Puedes obtener más información y detalles sobre las peticiones en la documentación oficial.
Curso online 👨💻
¡Ya lanzamos el curso oficial de Recursos Python en Udemy!
Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter
en 2024.
Consultoría 💡
Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.
Adrian says:
hola necesito meter prueba2 donde tu pones tu web… como lo hago?
prueba2 = prueba[7:]
bot.send_message(chat_id, prueba2)
r = requests.post(«https://www.googleapis.com/urlshortener/v1/url»,
params={«key»: «mi_clave_de_acceso»},
data='{«longUrl»: «https://www.recursospython.com/»}’,
headers={«Content-Type»: «application/json»})
Recursos Python says:
Hola, puedes usar
data='{"longUrl": prueba2}'
.Saludos.