Introdução

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.

Antes de começar

Você precisará do seguinte:

1. Configurar o Login do Facebook

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.

2. Implemente o Login do Facebook

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:

3. Obter um token de acesso do usuário

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:

4. Obtenha as Páginas do usuário

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

5. Obtenha a conta empresarial do Instagram

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.

6. Obtenha os objetos de mídia da conta empresarial 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.

Próximas etapas

  • Continue desenvolvendo o app para usar pontos de extremidade com sucesso e acompanhar as permissões necessárias para cada um deles.
  • Conclua o processo de análise do app e solicite a aprovação de todas as permissões necessárias para que os usuários possam concedê-las enquanto o app estiver no modo publicado.
  • Mude o app para o modo publicado e anuncie-o para usuários em potencial.

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.