Este documento explica como fazer chamadas à Graph API do Instagram a partir do seu app e obter objetos de mídia de uma conta de criador de conteúdo ou de uma empresa do Instagram. As orientações pressupõem que você conhece a Graph API e o Login do Facebook e sabe fazer chamadas à API de REST. É possível usar o Explorador da Graph API e pular as etapas 1 e 2 caso você ainda não tenha um app.
Você precisará do seguinte:
Adicione o produto Login do Facebook ao seu app no Painel de Apps.
Você pode deixar todas as configurações com os valores-padrão. Se estiver implementando o Login do Facebook manualmente (o que não recomendamos), insira o seu redirect_uri
no campo URIs de redirecionamento do OAuth válidos. Caso você use um dos nossos SDKs, deixe esse campo em branco.
Siga as instruções na documentação de Login do Facebook referente à sua plataforma e implemente o Login do Facebook no app. Configure a sua implementação para solicitar estas permissões:
Após implementar o Login do Facebook, verifique a sua conexão à conta de desenvolvedor do Facebook. Depois, acesse o app e acione o modal de Login do Facebook. Lembre-se: a sua conta de desenvolvedor do Facebook precisa ter a capacidade de executar tarefas na Página do Facebook conectada à conta do Instagram que você deseja consultar.
Depois de acionar o modal, clique em OK para conceder ao app as permissões instagram_basic
e pages_show_list
.
A API retornará um token de acesso do usuário. Capture o token para que o app possa usá-lo nas consultas seguintes. Se você estiver usando o Explorador da Graph API, ele será capturado automaticamente e exibido para referência no campo Token de acesso:
Consulte o ponto de extremidade GET /me/accounts
. Ele é convertido para GET /{user-id}/accounts
, que executa um GET
no nó do usuário do Facebook, com base no seu token de acesso.
curl -i -X GET \
"https://graph.facebook.com/v19.0
/me/accounts?access_token={access-token}"
Essa ação deve retornar uma coleção de Páginas do Facebook nas quais o usuário atual pode realizar as tarefas MANAGE
, CREATE_CONTENT
, MODERATE
ou ADVERTISE
:
{ "data": [ { "access_token": "EAAJjmJ...", "category": "App Page", "category_list": [ { "id": "2301", "name": "App Page" } ], "name": "Metricsaurus", "id": "134895793791914", // capture the Page ID "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] } ] }
Capture a identificação da Página do Facebook conectada à conta do Instagram que você quer consultar. Tenha em mente que os usuários do app podem ter a capacidade de executar tarefas em várias Páginas. Por isso, em algum momento, você precisará usar uma lógica que possa determinar a identificação da Página correta que deve ser capturada (ou criar uma interface do usuário em que os usuários do app possam identificar a Página correta para você).
Use o ID da página capturado para consultar o ponto de extremidade GET /{page-id}?fields=instagram_business_account
:
curl -i -X GET \
"https://graph.facebook.com/v19.0
/134895793791914?fields=instagram_business_account&access_token={access-token}"
Essa ação retornará o usuário do Instagram (uma conta de empresa ou de criador de conteúdo) que está conectado à Página do Facebook.
{ "instagram_business_account": { "id": "17841405822304914" // Connected IG User ID }, "id": "134895793791914" // Facebook Page ID }
Capture o ID do usuário do Instagram.
Use o ID do usuário do Instagram capturado para consultar o ponto de extremidade GET /{ig-user-id}/media
:
curl -i -X GET \
"https://graph.facebook.com/v19.0
/17841405822304914/media?access_token={access-token}"
Isso retornará os IDs de todos os objetos de mídia no usuário do Instagram:
{ "data": [ { "id": "17918195224117851" }, { "id": "17895695668004550" }, { "id": "17899305451014820" }, { "id": "17896450804038745" }, { "id": "17881042411086627" }, { "id": "17869102915168123" } ], "paging": { "cursors": { "before": "QVFIUkdGRXA2eHNNTUs4T1ZAXNGFxQTAtd3U4QjBLd1B2NXRMM1NkcnhqRFdBcEUzSDVJZATFoLWtXMWZAGU2VrRTk2RHVtTVlDckI2NjN0UERFa2JrUk4yMW13", "after": "QVFIUmlwbnFsM3N2cV9lZAFdCa0hDeV9qMVliT0VuMmJyNENxZA180c0t6VjFQVEJaTE9XV085aU92OUFLNFB6Szd2amo5aV9rTlVBcnNlWmEtMzYxcE1HSFR3" } } }
Se conseguir realizar essa consulta final, você poderá fazer consultas usando qualquer um dos pontos de extremidade da Graph API do Instagram. Consulte os nossos vários guias e referências para saber o que cada ponto de extremidade pode fazer e quais permissões eles requerem.
Quando ele estiver em modo publicado, os usuários do Facebook para quem você disponibilizou o app poderão acessar os dados da conta empresarial ou de criador de conteúdo. Para isso, é necessário que o usuário tenha uma conta do Facebook que possa executar tarefas na Página conectada à conta em questão.