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.

Primeiros passos

Este tutorial mostra como configurar um app no Painel de Apps, obter um token de acesso do usuário do Instagram de curta duração, usar esse token para consultar a API e, dessa forma, obter o perfil de um usuário do Instagram. Após a conclusão do tutorial, você saberá como obter tokens de acesso e permissões dos usuários do app, além de fazer consultas básicas com a API.

Para seguir o tutorial, pressupomos que você saiba fazer solicitações de cURL básicas com uma ferramenta de linha de comando ou um app, como o Postman.

Antes de começar

Você precisará do seguinte:

Etapa 1: criar um app do Facebook

Acesse developers.facebook.com e clique em Meus apps. Crie um app e escolha o tipo Consumidor ou Nenhum.

Depois disso, no Painel de Apps, vá até Configurações > Básico, role a tela até o fim da página e clique em Adicionar plataforma.

Selecione Site, insira a URL do seu site e salve as alterações. Se quiser, você poderá alterar a plataforma depois, mas use Site neste tutorial.

Etapa 2: configurar a Exibição básica do Instagram

Clique em Produtos, encontre Exibição básica do Instagram e clique em Configurar para adicioná-la ao app.

Role a tela até o fim da página e clique em Criar novo app.

No formulário exibido, conclua cada seção usando as diretrizes abaixo.

Nome de exibição

Insira o nome do app do Facebook que você acabou de criar.

URIs válidos de redirecionamento de OAuth

Insira a URL do site. Normalmente, seria um URI dedicado que pode capturar os parâmetros da string de consulta de redirecionamento. No entanto, para este tutorial, basta a URL do seu site.

Por exemplo: https://socialsizzle.heroku.com/auth/

Após inserir uma URL, salve as alterações e verifique a URL novamente. Podemos anexar uma barra à direita, dependendo da estrutura da sua URL. Copie a URL completa em algum lugar, pois você precisará dela nas etapas posteriores para obter códigos de autorização e tokens de acesso.

URL de retorno de chamada de desautorização

Insira a URL do site novamente. No futuro, será necessário substituir essa URL por outra que aceite notificações de desautorização. Porém, neste tutorial, você pode reutilizar a URL do seu site.

URL de retorno de chamada de solicitação de exclusão de dados

Insira a URL do site mais uma vez. Assim como no caso da URL de retorno de chamada de desautorização, você precisará substituir a URL informada por outra que seja compatível com solicitações de exclusão de dados posteriormente. Por enquanto, basta reutilizar a URL do seu site.

Análise do app

Ignore essa seção por enquanto, já que você não mudará o app para o modo publicado durante o tutorial.

Etapa 3: adicionar um usuário de teste do Instagram

Vá até Funções > Funções e role a tela até a seção Testadores do Instagram. Clique em Adicionar Testadores do Instagram, insira o nome de usuário da sua conta do Instagram e envie o convite.

Abra um novo navegador da web, acesse www.instagram.com e entre na conta do Instagram que recebeu o convite. Vá até (Ícone de perfil) > Editar perfil > Apps e sites > Convites do testador e aceite o convite.

Agora, seu app do Facebook poderá acessar a conta do Instagram enquanto estiver no modo de desenvolvimento.

Etapa 4: autenticar o usuário de teste

Crie a URL da janela de autorização abaixo. Substitua {app-id} pelo ID do seu app do Instagram (a partir do campo Painel de Apps > Produtos > Instagram > Exibição básica > ID do aplicativo do Instagram) e {redirect-uri} pela URL do site fornecida na etapa 2 ("URIs válidos de redirecionamento de OAuth"). A URL deve ser exatamente a mesma.

https://api.instagram.com/oauth/authorize
  ?client_id={app-id}
  &redirect_uri={redirect-uri}
  &scope=user_profile,user_media
  &response_type=code

Por exemplo:

https://api.instagram.com/oauth/authorize
  ?client_id=684477648739411
  &redirect_uri=https://socialsizzle.herokuapp.com/auth/
  &scope=user_profile,user_media
  &response_type=code

Abra uma nova janela no navegador e carregue a URL da janela de autorização. Ela deve aparecer mostrando o nome do seu usuário do Instagram, o nome do app e uma descrição das permissões sendo solicitadas.

Autentique seu usuário de teste do Instagram. Para fazer isso, entre na janela de autorização e clique em Autorizar. Com isso, o app poderá acessar os dados do perfil. Se tudo der certo, você será levado para o URI de redirecionamento incluído na etapa anterior e a página adicionará um código de autorização. Por exemplo:

https://socialsizzle.herokuapp.com/auth/?code=AQDp3TtBQQ...#_

Observe que #_ foi anexado ao final do URI de redirecionamento, mas não faz parte do código em si. Copie o código (sem #_ portion) para usá-lo na próxima etapa.

Os códigos de autorização têm duração curta e permanecem válidos por somente 1 hora.

Etapa 5: trocar o código por um token

Abra sua ferramenta de linha de comando ou seu app que aceita solicitações de cURL e envie a seguinte solicitação POST à 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}

Substitua {app-id}, {app-secret}, {redirect-uri} e {code} pelo ID do app do Instagram, a chave secreta, o URI de redirecionamento e o código que enviamos a você. Certifique-se de que o URI de redirecionamento corresponda de forma exata àquele especificado na etapa anterior, incluindo uma barra à direita adicionada (se houver) pelo Painel de Apps durante a configuração do seu app do Instagram.

Por exemplo:

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...

Se tudo der certo, a API retornará um objeto JSON codificado contendo o token de acesso do usuário do Instagram de curta duração, válido por 1 hora, e o número de identificação do seu usuário de teste do Instagram:

{
  "access_token": "IGQVJ...",
  "user_id": 17841405793187218
}

Copie o token de acesso e o número de identificação do usuário para usá-los na próxima etapa.

Etapa 6: consultar o nó do usuário

Use sua ferramenta de linha de comando ou seu app, bem como a solicitação de cURL abaixo, para consultar o nó do usuário, de modo a obter o número de identificação e o nome do usuário. Substitua {user-id} e {access-token} pelo número de identificação e o token de acesso obtidos na etapa anterior.

curl -X GET \
  'https://graph.instagram.com/{user-id}?fields=id,username&access_token={access-token}'

Por exemplo:

curl -X GET \
  'https://graph.instagram.com/17841405793187218?fields=id,username&access_token=IGQVJ...'

Também é possível consultar o nó Me, que examinará seu token, determinará o número de identificação do usuário do Instagram que concedeu o token e consultará esse usuário. Por exemplo:

curl -X GET \
  'https://graph.instagram.com/me?fields=id,username&access_token=IGQVJ...'

Se tudo der certo, a API responderá com seu número de identificação e nome de usuário no Instagram:

{
  "id": "17841405793187218",
  "username": "jayposiris"
}

Próximas etapas

Agora que você já sabe como obter um token e fazer uma consulta básica, leia nossos guias para saber mais sobre os usos da API.