Recientemente he estado trabajando con la API de algunos acortadores. Comenzaré una serie de tutoriales sobre cómo trabajar con cada una de ellas desde PHP. Hoy veremos cómo trabajar con la API de ouo con PHP. Ouo es un servicio (ouo.io) que acorta enlaces y paga cada que alguien los visite.
No vamos a utilizar curl, simplemente file_get_contents 😉
Nota: puedes obtener tu clave API en https://ouo.io/manage/tools/quick-link
Si no tienes una cuenta puedes unirte en http://ouo.io/ref/LASKFzcB
Lo que necesitamos es nuestra clave API sacada del sitio, y un enlace. El código de ejemplo queda así:
<?php
function ouo_io($claveApi, $enlace){
//Petición GET
$acortado = @file_get_contents(
"http://ouo.io/api/"
. urlencode($claveApi)
. "?s="
. urlencode($enlace));
// Comprobar si lo que obtuvimo
// es un enlace válido utilizando una
// expresión regular
if (preg_match('/^http:\/\/ouo\.io\/\w+$/', $acortado) !== 1)
throw new Exception("Enlace inesperado al acortar con ouo.io: " . $acortado);
return $acortado;
}
// Ejemplo de uso
$claveApi = "TU_CLAVE_API_AQUÍ";
$enlace = "https://parzibyte.me/blog";
echo ouo_io($claveApi, $enlace); //Salida: algo como http://ouo.io/D5UZXp
?>
Encerramos todo dentro de una función que recibe la clave API y el enlace que se desea acortar. Luego hace la petición y verifica el resultado.
En caso de que se cumpla con la expresión regular (http://ouo.io/ALGUNAS_LETRAS_O_NÚMEROS) devolvemos el enlace acortado.
En caso contrario, lanzamos una excepción porque el enlace no fue acortado e imprimimos el resultado erróneo.
Al ejecutarlo con clave y enlace correcto, sale esto (la salida cambiará dependiendo de tu clave API):
Cuando no ponemos una clave correcta:
Finalmente, cuando no ponemos un enlace correcto
Como vemos, se lanza una excepción si no es un enlace válido. Podemos encerrar la llamada a la función con un try catch. Si no se lanza excepción alguna, todo está bien.
Esto lo ejecuté desde la terminal, pero recordemos que podemos poner la función en cualquier archivo PHP que sea llamado desde un servidor web.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.
Ver comentarios
wow, gracias, que buen aporte.
Excelente me sirvió, muchas gracias!
Es un gusto ayudar :)
Te invito a suscribirte a mi blog escribiendo tu correo en la barra lateral de la derecha. Saludos