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 se describe cómo configurar una aplicación en el panel de aplicaciones, cómo obtener un identificador de acceso de usuario de Instagram de corta duración y cómo usar dicho identificador para hacer consultas a la API para un perfil de un usuario de Instagram. Cuando hayas completado el tutorial, tendrás conocimientos básicos sobre cómo obtener identificadores de acceso y permisos de los usuarios de la aplicación, y cómo hacer consultas básicas con la API.
En el tutorial se presupone que puedes realizar solicitudes cURL básicas con una herramienta de línea de comandos o una aplicación como Postman.
Necesitarás lo siguiente:
Ve a developers.facebook.com, haz clic en Mis aplicaciones y crea una nueva aplicación. Luego, elige el tipo de aplicación Consumidor o Ninguno.
Una vez que hayas creado la aplicación y estés en el panel de aplicaciones, ve a Configuración > Básica, desplázate hasta el final de la página y haz clic en Añadir plataforma.
Elige Sitio web, añade la URL de tu sitio web y guarda los cambios. Puedes cambiar la plataforma más adelante si quieres, pero para este tutorial, utiliza Sitio web.
Haz clic en Productos, localiza el producto Visualización básica de Instagram y haz clic en Configurar para añadirlo a tu aplicación.
Desplázate hasta la parte inferior de la página y haz clic en Crear una nueva aplicación.
En el formulario que aparecerá, completa cada sección de acuerdo con las pautas que siguen.
Indica el nombre de la aplicación de Facebook que acabas de crear.
Indica la URL de tu sitio web. Normalmente, será un URI dedicado capaz de capturar los parámetros de la cadena de consulta de redireccionamiento, pero para el objetivo de este tutorial, bastará con la URL de tu sitio web.
Por ejemplo, https://socialsizzle.heroku.com/auth/
.
Después de escribir una URL, guarda los cambios y vuelve a comprobar la URL. Puede que hayamos añadido una barra diagonal final en función de la estructura de la URL. Copia la URL completa y guárdala, ya que la necesitarás en pasos siguientes para obtener códigos de autorización e identificadores de acceso.
Indica la URL de tu sitio web de nuevo. Con el tiempo, tendrás que cambiarla por una URL que pueda gestionar notificaciones de desautorización, pero para este tutorial puedes reutilizar la URL de tu sitio web.
Indica la URL de tu sitio web de nuevo. Al igual que con la URL de devolución de llamada de desautorización, con el tiempo tendrás que cambiarla por una URL que pueda gestionar solicitudes de eliminación de datos, pero por ahora puedes reutilizar la URL de tu sitio web.
Puedes omitir esta sección de momento, ya que no vas a pasar la aplicación a modo activo durante el tutorial.
Ve a Roles > Roles y desplázate hacia abajo hasta la sección “Evaluadores de Instagram”. Haz clic en Añadir evaluadores de Instagram, introduce el nombre de usuario de tu cuenta de Instagram y envía la invitación.
Abre un navegador web nuevo y ve a www.instagram.com. A continuación, inicia sesión en la cuenta de Instagram a la que acabas de enviar la invitación. Ve a (icono del perfil) > Editar perfil > Aplicaciones y sitios web > Invitaciones de evaluador y acepta la invitación.
Ahora tu cuenta de Instagram cumple los requisitos para que la aplicación de Facebook acceda a ella cuando esté en modo de desarrollo.
Construye la URL de ventana de autorización a continuación. Para ello, sustituye {app-id}
por el identificador de la aplicación de Instagram (desde el panel de aplicaciones > Productos > Instagram > Visualización básica > Identificador de la aplicación de Instagram) y {redirect-uri}
por la URL del sitio web que proporcionaste en el paso 2 (“URI de redireccionamiento de OAuth válidos”). La URL debe ser exactamente igual.
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 una nueva ventana del navegador y carga la URL de la ventana de autorización. Debería abrirse y mostrar el nombre del usuario de Instagram, el nombre de la aplicación y una descripción de los permisos que tu aplicación solicita.
Autentica el usuario de prueba de Instagram. Para ello, inicia sesión en la ventana de autorización y haz clic en Autorizar para conceder acceso a la aplicación a los datos de tu perfil. Una vez logrado, la página te redirigirá al URI de redireccionamiento que habrás incluido en el paso anterior e incluirá un código de autorización. Por ejemplo:
https://socialsizzle.herokuapp.com/auth/?code=AQDp3TtBQQ...#_
Ten en cuenta que #_
se ha anexado al final del URI de redireccionamiento, pero no forma parte del código en sí. Copia el código (sin #_ portion
) para usarlo en el paso siguiente.
Los códigos de autorización son de corta duración y solo son válidos durante una hora.
Abre una herramienta de línea de comandos o una aplicación que admita 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}
Sustituye {app-id}
, {app-secret}
, {redirect-uri}
y {code}
por el identificador de aplicación de Instagram, la clave secreta de la aplicación de Instagram, el URI de redireccionamiento y el código que te hemos enviado. Asegúrate de que tu URI de redireccionamiento coincide exactamente con el que especificaste en el paso anterior, incluidas las barras inclinadas finales que el Panel de aplicaciones hubiera podido añadir al configurar la aplicación 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...
Una vez logrado esto, la API devolverá un objeto con codificación JSON que contiene un identificador de acceso de usuario de Instagram de corta duración, válido durante una hora, y el identificador del usuario de prueba de Instagram.
{ "access_token": "IGQVJ...", "user_id": 17841405793187218 }
Copia el identificador de acceso y el identificador de usuario. Los necesitarás en el paso siguiente.
Utiliza la herramienta de línea de comandos o la aplicación y la consulta cURL a continuación para realizar consultas al nodo de usuario para el identificador de usuario y el nombre de usuario. Sustituye {user-id}
y {access-token}
por el identificador y el identificador 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 realizar consultas al nodo Me, que examinará el identificador, determinará el identificador del usuario de Instagram que concedió el identificador y realizará consultas a dicho usuario. Por ejemplo:
curl -X GET \ 'https://graph.instagram.com/me?fields=id,username&access_token=IGQVJ...'
Si la operación se realiza correctamente, la API responderá con tu identificador y nombre de usuario de Instagram:
{ "id": "17841405793187218", "username": "jayposiris" }
Ahora que sabes cómo obtener un identificador y realizar consultas básicas, consulta nuestras guías para obtener más información sobre lo que puedes hacer con la API.