apis

Consumir API de ouo.io con PHP

Introducción

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

Consumir API de ouo con PHP

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.

Ejemplo de uso

Al ejecutarlo con clave y enlace correcto, sale esto (la salida cambiará dependiendo de tu clave API):

Acortando enlace. API de ouo con PHP

Cuando no ponemos una clave correcta:

Con clave API incorrecta

Finalmente, cuando no ponemos un enlace correcto

Con enlace incorrecto

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

17 horas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

1 semana hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

1 semana hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

1 semana hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

1 semana hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

1 semana hace

Esta web usa cookies.