Se actualizó este documento.
La traducción en español no está disponible todavía.
Actualización del documento en inglés: 8 jul. 2021

Tokens de acceso de larga duración

De forma predeterminada, los tokens de acceso de usuario de Instagram son de corta duración y solo son válidos por una hora. Sin embargo, los tokens de corta duración se pueden cambiar por tokens de larga duración.

Los tokens de larga duración tienen una validez de 60 días y pueden actualizarse siempre que tengan una existencia de al menos 24 horas, no hayan caducado y el usuario de la app te haya concedido el permiso instagram_graph_user_profile. Los tokens actualizados tienen una validez de 60 días desde la fecha en que se actualizaron. Los tokens que no se hayan actualizado en el lapso de 60 días caducarán y ya no se podrán actualizar.

Ahora es posible actualizar los tokens de larga duración para las cuentas privadas de Instagram. Asimismo, los permisos que los usuarios de la app con cuentas privadas otorgan a las apps tienen ahora una validez de 90 días.

Limitaciones

  • Los tokens de corta duración caducados no se pueden cambiar por tokens de larga duración. Si el token de usuario caducó, obtén uno nuevo antes de cambiarlo por un token de larga duración.
  • Las solicitudes de tokens de larga duración incluyen la clave secreta de tu app, por lo que solo se deben incluir en el código del servidor, nunca en el código del cliente o en un binario de app que se pueda descompilar. No compartas tu clave secreta de la app con nadie, no la incluyas en el código, no la envíes a un cliente ni la almacenes en el dispositivo.

Obtén un token de larga duración

Usa el punto de conexión GET /access_token para cambiar un token de acceso de usuario de Instagram de corta duración por uno de larga duración. Una vez que tengas el token de larga duración, podrás usarlo en solicitudes del servidor o enviarlo al cliente para que lo use.

Tu solicitud debe hacerse en el servidor e incluir lo siguiente:

  • Un token de acceso de usuario de Instagram de corta duración válido (vigente)
  • La clave secreta de tu app de Instagram (Panel de apps > Productos > Instagram > Visualización básica > Clave secreta de la app de Instagram)

Para obtener más información, consulta la referencia GET /access_token.

Ejemplos de solicitud

curl -i -X GET "https://graph.instagram.com/access_token
  ?grant_type=ig_exchange_token
  &client_secret={instagram-app-secret}
  &access_token={short-lived-access-token}"

Ejemplo de respuesta

{
  "access_token":"{long-lived-user-access-token}",
  "token_type": "bearer",
  "expires_in": 5183944  // Number of seconds until token expires
}

Actualiza un token de larga duración

Usa el punto de conexión GET /refresh_access_token para actualizar tokens de acceso de usuario de Instagram de larga duración que estén vigentes. Cuando se actualiza un token de larga duración, este vuelve a tener una validez de 60 días. Los tokens de larga duración que no se hayan actualizado en el lapso de 60 días caducarán.

En la solicitud, debes incluir lo siguiente:

  • Un token de acceso de usuario de Instagram de larga duración válido (vigente)

Para obtener más información, consulta la referencia GET /refresh_access_token.

Ejemplos de solicitud

curl -i -X GET "https://graph.instagram.com/refresh_access_token
  ?grant_type=ig_refresh_token
  &access_token={long-lived-access-token}"

Ejemplo de respuesta

{
  "access_token":"{long-lived-user-access-token}",
  "token_type": "bearer",
  "expires_in": 5183944 // Number of seconds until token expires
}