On September 4, 2024, we announced the deprecation of the Instagram Basic Display API.
Starting December 4, 2024, all requests to the Instagram Basic Display API will return an error message. We recommend that you migrate your app to the Instagram API to avoid any disruption to your services.
En este tutorial, te mostramos cómo configurar una app en el panel de apps, cómo obtener un token de acceso de usuario de Instagram de corta duración y cómo usarlo después para enviar una consulta a la API con respecto al perfil de un usuario de Instagram. Cuando finalices el tutorial, tendrás un conocimiento básico de cómo obtener tokens de acceso y permisos de los usuarios de tu app, y cómo realizar consultas básicas con la API.
En el tutorial, se asume que puedes realizar solicitudes cURL básicas mediante una herramienta o app de línea de comandos como Postman.
Necesitarás lo siguiente:
Ve a developers.facebook.com, haz clic en Mis apps, crea una nueva app y elige Consumidor o Ninguno para el tipo de app.
Cuando hayas creado la app y estés en el panel de apps, navega hasta Configuración > Básica, desplázate hasta la parte inferior de la página y haz clic en Agregar plataforma.
Elige Sitio web, agrega la URL de tu sitio web y guarda los cambios. Puedes cambiar la plataforma más adelante si lo deseas, pero, para este tutorial, utiliza Sitio web.
Haz clic en Productos, busca el producto Visualización básica de Instagram y haz clic en Configurar para agregarlo a tu app.
Desplázate hasta la parte inferior de la página y haz clic en Crear nueva app.
En el formulario que se abre, sigue estas normas para completar las secciones.
Escribe el nombre de la app de Facebook que acabas de crear.
Escribe la URL de tu sitio web. Normalmente, sería un URI dedicado capaz de capturar los parámetros de la cadena de consulta de redireccionamiento, pero, para este tutorial, alcanza con usar la URL de tu sitio web.
Por ejemplo: https://socialsizzle.heroku.com/auth/
Después de especificar una URL, guarda los cambios y comprueba la URL nuevamente; es posible que hayamos agregado una barra diagonal al final según la estructura de la URL. Copia la URL completa en algún lugar, ya que la necesitarás más tarde para obtener códigos de autorización y tokens de acceso.
Escribe nuevamente la URL de tu sitio web. En algún momento, deberás cambiar este valor por una URL que pueda procesar notificaciones de autorización cancelada, pero, para este tutorial, puedes volver a usar la URL de tu sitio web.
Escribe una vez más la URL de tu sitio web. Al igual que con la URL de devolución de llamada para autorización cancelada, en algún momento deberás cambiar este valor por una URL que pueda procesar solicitudes de eliminación de datos, pero, por ahora, puedes volver a utilizar la URL de tu sitio web.
Omite esta sección por ahora, ya que no pasarás la app al modo activo durante el tutorial.
Navega hasta Roles > Roles y desplázate hacia abajo hasta la sección Evaluadores de Instagram. Haz clic en Agregar evaluadores de Instagram, ingresa el nombre de usuario de tu cuenta de Instagram y envía la invitación.
Abre otro navegador web, ve a www.instagram.com e inicia sesión en la cuenta de Instagram a la que acabas de enviar la invitación. Navega hasta (icono de perfil) > Editar perfil > Apps y sitios web > Invitaciones de prueba y acepta la invitación.
Tu app de Facebook ahora puede acceder a tu cuenta de Instagram cuando se ejecuta en el modo de desarrollo.
Genera la URL de la ventana de autorización de abajo, reemplazando {app-id}
por el identificador de tu app de Instagram (desde el campo Panel de apps > Productos > Instagram > Visualización básica > Identificador de la app de Instagram) y {redirect-uri}
por la URL de tu sitio web que indicaste en el paso 2 (URI de redireccionamiento de OAuth válidos). La URL debe ser exactamente la misma.
https://api.instagram.com/oauth/authorize ?client_id={app-id} &redirect_uri={redirect-uri} &scope=user_profile,user_media &response_type=code
Por ejemplo:
https://api.instagram.com/oauth/authorize ?client_id=684477648739411 &redirect_uri=https://socialsizzle.herokuapp.com/auth/ &scope=user_profile,user_media &response_type=code
Abre otra ventana del navegador y carga la URL de la ventana de autorización. Debería abrirse y mostrar el nombre de usuario de Instagram, el nombre de la app y una descripción de los permisos que solicita tu app.
Autentica el usuario de prueba de Instagram. Para ello, inicia sesión en la ventana de autorización y haz clic en Autorizar para otorgar a tu app acceso a los datos de tu perfil. Una vez hecho esto, la página te redireccionará al URI de redireccionamiento que incluiste en el paso anterior y agregará un código de autorización. Por ejemplo:
https://socialsizzle.herokuapp.com/auth/?code=AQDp3TtBQQ...#_
Ten en cuenta que #_
se agregó al final del URI de redireccionamiento, pero no forma parte del código. Copia el código (sin la parte #_
) para poder usarlo en el paso siguiente.
Los códigos de autorización son de corta duración y solo son válidos durante 1 hora.
Abre la herramienta o app de línea de comandos que admite solicitudes cURL y envía la siguiente solicitud POST
a la API.
curl -X POST \ https://api.instagram.com/oauth/access_token \ -F client_id={app-id} \ -F client_secret={app-secret} \ -F grant_type=authorization_code \ -F redirect_uri={redirect-uri} \ -F code={code}
Reemplaza {app-id}
, {app-secret}
, {redirect-uri}
y {code}
por el identificador de tu app de Instagram, la clave secreta de la app de Instagram, el URI de redireccionamiento y el código que te enviamos. Asegúrate de que el URI de redireccionamiento coincida exactamente con el que especificaste en el paso anterior, incluidas las barras diagonales finales si el panel de apps las agregó cuando configuraste tu app de Instagram.
Por ejemplo:
curl -X POST \ https://api.instagram.com/oauth/access_token \ -F client_id=684477648739411 \ -F client_secret=eb8c7... \ -F grant_type=authorization_code \ -F redirect_uri=https://socialsizzle.herokuapp.com/auth/ \ -F code=AQDp3TtBQQ...
Si esto se ejecuta correctamente, la API devolverá un objeto JSON cifrado que incluirá un token de acceso de usuario de Instagram de corta duración (válido por una hora) y el identificador de tu usuario de prueba de Instagram.
{ "access_token": "IGQVJ...", "user_id": 17841405793187218 }
Copia el token de acceso y el identificador de usuario para poder usarlos en el paso siguiente.
Usa la herramienta o app de línea de comandos y la solicitud cURL de abajo para enviar una consulta al nodo de usuario a fin de solicitar tu identificador y nombre de usuario. Reemplaza {user-id}
y {access-token}
por el identificador y el token de acceso que recibiste en el paso anterior.
curl -X GET \ 'https://graph.instagram.com/{user-id}?fields=id,username&access_token={access-token}'
Por ejemplo:
curl -X GET \ 'https://graph.instagram.com/17841405793187218?fields=id,username&access_token=IGQVJ...'
También puedes enviar una consulta al nodo me, que examinará tu token, determinará el identificador del usuario de Instagram que otorgó el token y enviará la consulta a ese usuario. Por ejemplo:
curl -X GET \ 'https://graph.instagram.com/me?fields=id,username&access_token=IGQVJ...'
Si esto se ejecuta correctamente, la API responderá con tu identificador y nombre de usuario de Instagram:
{ "id": "17841405793187218", "username": "jayposiris" }
Ahora que ya sabes cómo obtener un token y realizar una consulta básica, lee nuestras guías para obtener más información sobre lo que puedes hacer con la API.