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.

Visit our News for Developers blog post to learn more.

Empezar

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.

Antes de empezar

Necesitarás lo siguiente:

Paso 1: Crear una aplicación de Facebook

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.

Paso 2: Configurar la visualización básica de Instagram

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.

Nombre de visualización

Indica el nombre de la aplicación de Facebook que acabas de crear.

URI de redireccionamiento de OAuth válidos

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.

URL de devolución de llamada de desautorización

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.

URL de devolución de llamada de solicitud de borrado de datos

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.

Revisión de la aplicación

Puedes omitir esta sección de momento, ya que no vas a pasar la aplicación a modo activo durante el tutorial.

Paso 3: Añadir un usuario de prueba de Instagram

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.

Paso 4: Autenticar un usuario de prueba

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.

Paso 5: Intercambiar el código por un identificador

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.

Paso 6: Consultar el nodo de usuario

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"
}

Siguientes pasos

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.