api-googl-php

Cómo acortar urls con goo.gl y php usando el API

Las urls cortas pueden sernos de mucha utilidad en infinidad de casos, ya bien sea para publicar enlaces en redes sociales, enviarlos por el móvil, o incluso para nuestros scripts en php por el motivo que sea. Vamos a ver de forma simple como usar el api de goo.gl con php para poder acortar urls.

Si normalmente sueles acortar urls, o simplemente necesitas automatizar algún script que tienes hecho para que “comprima” las direcciones web de forma automática, vamos a ver una clase en PHP específicamente diseñada para utilizar el acortador de urls de google, goo.gl.

Gracias a lo fácil que nos lo ha puesto google, lo solucionaremos en un par de pasos, pero antes de nada tienes que saber que vas a necesitar tener una cuenta de Google Developer (gratis si tienes cualquier cuenta de google), y por ello vamos a ver cómo activar el api de googl en nuestra consola de desarrollador.

Cómo habilitar el api para acortar urls con google goo.gl

Lo primero será ir a la consola de desarrollador y desde ahí crear un proyecto con el nombre que queramos. Una vez que tengamos el proyecto creado, por ejemplo WEBSHORT entraremos en él y veremos a la izquierda un menú donde haremos click en APIs & auth.

En la siguiente página veremos una lista de todos los servicios que nos ofrece google como desarrolladores, y buscaremos URL Shortener API, o servicio para acortar URLs, le daremos al botón de la derecha para ponerlo en modo ON y que se quede activo. Una vez activo haremos click en Credenciales y después en crear nueva clave.

Léete también  [Magento] Invalid id or tag ‘’ : must use only [a-zA-Z0-9_] [Solucionado]

credenciales-crear-llave

Nos saldrá un mensaje en el que elegiremos clave de servidor.

google-api-server-key

Y después introduciremos la IP de nuestro servidor (donde vamos a utilizar el script php, si es nuestro pc con un xampp entonces vamos a cualesmiip y ponemos la que nos aparezca ahí que será la de nuestro pc), y a partir de ese momento ya podremos empezar a mandar consultas desde nuestra ip o la de nuestro servidor con scripts php.

ip-server-api-key

Recuerda que el límite de peticiones de forma gratuíta son 1.000.000 al mes, que quizás no las sobrepases pero tienes que saberlo por si tienes mucho volúmen de trabajo y deja de funcionarte.

Clase para acortar urls con el API de goo.gl y php

Esto ya es fácil, una vez tengamos nuestra clave de api pública (se genera y la veremos al seguir los pasos anteriores), simplemente tenemos que abrir el archivo php (o crear) en el que queramos poner el código. Lo ideal es que sea un archivo que se cargue en todas las páginas donde queremos usar la clase, en wordpress por ejemplo dentro de functions.php. Introduciremos la siguiente clase:

Una vez tengamos listo el archivo que carga la clase, simplemente nos queda utilizarlo con los siguientes códigos:

Léete también  ¡Google Images ha vuelto!

Por supuesto aquí es donde colocaremos nuestra clave de api. De esta forma tan sencilla podremos acortar las urls de forma automática, lo cual podemos usar tanto para nosotros en algún script privado, como si queremos integrarlo en nuestro foro o cms y así evitar spam y link juice.

¿Lo has probado? ¿Tienes algún otro método?


AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.
  • William

    Hola VicHaunter, he probado el codigo y me aparece el siguiente error:

    Fatal error: Call to undefined function curl_init() in /…/classGoogleUrlShortener.php on line 30 . Me podrías ayudar informándome que ocurre y como arreglarlo ?

    • tienes que tener instalado el php_curl en el servidor, si es propio con ejecutar yum install php-curl o apg-get install php5-curl y luego reiniciar apache debería ser suficiente, pero depende de qué server tengas, si es un hospedaje web tendrías que pedirlo al que te provee el servicio.

  • alverhost

    Amigo como hago para que me convierta las URLs especificas ?

    • A qué te refieres?

      • alverhost

        Claro yo ocupo que me combiarta una url automaticamente ejemplo que $ruta sea la url donde entra y $acortado ya me dee el link cortado con goo.gl

        • Usalo de esta forma

          encode($urllarga);
          //ver url real
          $urllarga = $api->decode($urlcorta);
          ?>