Como usar API de Imgur en PHP

  • Autor Autor MatiasVM
  • Fecha de inicio Fecha de inicio
M

MatiasVM

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Como usar API de Imgur en PHP


Imgur proporciona a los desarrolladores una API para cargar imágenes utilizando su aplicación. Para ello sólo deben registrarse en Imgur y obtener una ID de cliente. En este post van a ver el proceso paso a paso para cargar imágenes usando Imgur API en PHP. Esto es bastante fácil.


1. Registrarse

Deben tener una cuenta en Imgur, si no la tienen pueden registrarse en este link:
Insertar CODE, HTML o PHP:
https://imgur.com/register


2. Obtener un ID de cliente

Es necesario crear una aplicación para obtener el ID de cliente. Para crear una aplicación vaya a esta página:
Insertar CODE, HTML o PHP:
https://api.imgur.com/oauth2/addclient

Seleccione Anonymous usage without user authorization en la opción de Authorization Type

b4bcddf28cf249198baaaabb3c6b5879.webp

Llene todos los otros campos, incluyendo el de CAPTCHA. Luego, haga clic en el botón submit y recibirá un ID de cliente y un Client secret.

31b813e5d8884a4296966f7dcf4f675b.webp

Ahora solo deben crear un formulario, este es igual que cualquier otro formulario de carga de archivos.


HTML

HTML:
<form action="" enctype="multipart/form-data" method="POST">
 Seleccionar imagen: <input name="img" size="35" type="file"/><br/>
 <input type="submit" name="submit" value="Subir"/>
</form>

PHP:
<?php
if(isset($_POST['submit'])){ 
  $filename= $_FILES['img']['tmp_name'];
  $client_id = "83ea198839a61ed"; // AQUI SU CLIENT ID
  $handle = fopen($filename, "r");
  $data = fread($handle, filesize($filename));
  $pvars   = array('image' => base64_encode($data));
  $timeout = 30;
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, 'https://api.imgur.com/3/image.json');
  curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
  curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . $client_id));
  curl_setopt($curl, CURLOPT_POST, 1);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
  $out = curl_exec($curl);
  curl_close ($curl);
  $pms = json_decode($out,true);
  $url=$pms['data']['link'];
  if($url!=""){
   echo "<h2>Imagen subida!</h2>";
   echo "<img src='$url'/>";
  }else{
   echo "<h2>Ocurrió un problema :(</h2>";
   echo $pms['data']['error'];  
  } 
 }
}
?>

Aqui pueden encontrar toda la documentacion de la API Imgur:
Insertar CODE, HTML o PHP:
https://apidocs.imgur.com/

Y eso es todo, cualquier duda en los comentarios.
 
Última edición:
que buen tutorial y sencillo, gracias parcero :estrellas:
 
Muy interesante. Seria como un complemento para la libreria GD nativa de PHP?
 
Buen tutorial, fácil de entender y útil 😉

- - - Actualizado - - -

Muy interesante. Seria como un complemento para la libreria GD nativa de PHP?

No por ejemplo lo podrías usar en localhost para subir imágenes rápidamente sin tener que entrar al sitio imgur, lo que hace el script php es enviar la imagen en formato base64_encode y el servidor de imgur le hace base64_decode y un file_put_contents a alguna carpeta especifica, luego devuelve como respuesta el enlace directo de la imagen (en formato json json decode) para ser insertada por ejemplo en un foro, sitio web, etc.
 
Última edición:
Interesante, gracias por compartirlo.
 
Atrás
Arriba