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.
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:
Para obtener más información, consulta la referencia GET /access_token
.
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}"
{ "access_token":"{long-lived-user-access-token}", "token_type": "bearer", "expires_in": 5183944 // Number of seconds until token expires }
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:
Para obtener más información, consulta la referencia GET /refresh_access_token
.
curl -i -X GET "https://graph.instagram.com/refresh_access_token ?grant_type=ig_refresh_token &access_token={long-lived-access-token}"
{ "access_token":"{long-lived-user-access-token}", "token_type": "bearer", "expires_in": 5183944 // Number of seconds until token expires }