Por padrão, os tokens de acesso do usuário do Instagram são de curta duração e expiram depois de uma hora. No entanto, os tokens de curta duração podem ser trocados por outros de longa duração.
Os tokens de longa duração são válidos por 60 dias e podem ser atualizados caso tenham sido criados há pelo menos 24 horas, não estejam expirados e o usuário tenha concedido a permissão instagram_graph_user_profile
ao aplicativo. Os tokens atualizados são válidos por 60 dias a partir da data de atualização. Se um token não for atualizado em 60 dias, ele expirará e não poderá mais ser atualizado.
Agora é possível atualizar os tokens de acesso de longa duração para contas privadas do Instagram. Além disso, as permissões concedidas a aplicativos por usuários com contas privadas passam a ser válidas por 90 dias.
Use o ponto de extremidade GET /access_token
para trocar um token de acesso do usuário do Instagram de curta duração por um de longa duração. Ao obter um token de longa duração, você poderá usá-lo em solicitações no lado do servidor ou enviá-lo para uso do cliente.
Sua solicitação precisa ser feita no lado do servidor e incluir:
Consulte a referência sobre GET /access_token
para informações adicionais.
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 }
Use o ponto de extremidade GET /refresh_access_token
para atualizar tokens de acesso do usuário do Instagram de longa duração que não estejam expirados. Após a atualização, um token de longa duração ficará válido por mais 60 dias. Os tokens de longa duração expirarão se não forem atualizados em até 60 dias.
A solicitação precisa incluir:
Consulte a referência sobre GET /refresh_access_token
para informações adicionais.
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 }