Este documento foi atualizado.
A tradução para Português (Brasil) não foi concluída ainda.
Atualização em inglês: 5 de jul de 2021

Tokens de acesso de longa duração

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.

Limitações

  • Os tokens de curta duração expirados não poderão ser trocados pelos de longa duração. Se o token do usuário expirar, obtenha um novo antes de trocá-lo por um de longa duração.
  • As solicitações de tokens de longa duração incluem a chave secreta do seu aplicativo. Por isso, elas só devem ser feitas no código do lado do servidor, e nunca no lado do cliente ou em um binário de aplicativo que possa ser decompilado. Não compartilhe a chave secreta do aplicativo com ninguém, tampouco exiba ela em código, envie a um cliente ou armazene em um dispositivo.

Obter um token de longa duração

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:

  • um token de acesso do usuário do Instagram de curta duração válido (não expirado);
  • sua chave secreta do aplicativo do Instagram (Painel de Aplicativos > Produtos > Instagram > Exibição básica > Chave secreta do aplicativo).

Consulte a referência sobre GET /access_token para informações adicionais.

Exemplos de solicitação

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

Exemplo de resposta

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

Atualizar um token de longa duração

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:

  • um token de acesso do usuário do Instagram de longa duração válido (não expirado).

Consulte a referência sobre GET /refresh_access_token para informações adicionais.

Exemplos de solicitação

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

Exemplo de resposta

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