Premiers pas

Ce document explique comment appeler l’API Graph pour Instagram avec votre application et récupérer des objets multimédias d’un compte Instagram Business ou créateur sur Instagram. Nous partons du principe que vous connaissez bien l’API Graph et Facebook Login, et que vous savez effectuer des appels d’API REST. Si vous n’avez pas encore d’application, vous pouvez utiliser l’Explorateur de l’API Graph et ignorer les étapes 1 et 2.

Avant de commencer

Vous devrez avoir accès aux éléments suivants :

1. Configurer Facebook Login

Ajoutez le produit Facebook Login à votre application dans l’Espace App.

Vous pouvez laisser tous les paramètres par défaut. Si vous implémentez manuellement Facebook Login (ce que nous ne recommandons pas), saisissez votre redirect_uri dans le champ URI de redirection OAuth valides. Si vous utilisez l’un de nos SDK, vous pouvez laisser ce champ vide.

2. Implémenter Facebook Login

Suivez les instructions de notre documentation Facebook Login concernant votre plateforme et implémentez Facebook Login dans votre application. Configurez votre implémentation de manière à demander ces autorisations :

3. Obtenir un token d’accès utilisateur

Une fois que vous avez implémenté Facebook Login, assurez-vous d’être connecté à votre compte de développeur·se Facebook, puis accédez à votre application et lancez la fenêtre modale Facebook Login. N’oubliez pas que votre compte de développeur·se Facebook doit être autorisé à exécuter des tâches sur la Page Facebook associée au compte Instagram que vous souhaitez interroger.

Une fois la fenêtre modale lancée, cliquez sur OK pour accorder les autorisations instagram_basic et pages_show_list à votre application.

L’API doit renvoyer un token d’accès utilisateur. Enregistrez le token pour que votre application puisse l’utiliser pour les prochaines requêtes. Si vous utilisez l’Explorateur de l’API Graph, il sera enregistré automatiquement et affiché dans le champ Token d’accès pour information :

4. Obtenir les Pages de l’utilisateur·ice

Interrogez le point de terminaison GET /me/accounts (ce qui se traduit par GET /{user-id}/accounts, qui exécute la commande GET sur le nœud Utilisateur Facebook, selon votre token d’accès).

curl -i -X GET \
 "https://graph.facebook.com/v19.0/me/accounts?access_token={access-token}"

Cette commande doit renvoyer une collection de Pages Facebook dans lesquelles l’utilisateur·ice Facebook actuel·le peut effectuer les tâches 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"
      ]
    }
  ]
}

Enregistrez l’ID de la Page Facebook connectée au compte Instagram que vous souhaitez interroger. N’oubliez pas que les utilisateur·ices de votre application peuvent être autorisé·es à effectuer des tâches sur plusieurs pages, et que vous devrez donc à terme introduire une logique capable de déterminer le bon ID de Page à enregistrer (ou concevoir une UI dans laquelle les utilisateur·ices de votre application peuvent eux-mêmes et elles-mêmes identifier la bonne Page).

5. Obtenir le compte Instagram Business de la Page

Utilisez l’ID de Page que vous avez enregistré pour interroger le point de terminaison 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}"

Cette opération doit renvoyer l’utilisateur Instagram, un compte Instagram Business ou créateur pour Instagram, associé à la page Facebook.

{
  "instagram_business_account": {
    "id": "17841405822304914"  // Connected IG User ID
  },
  "id": "134895793791914"  // Facebook Page ID
}

Enregistrez l’ID de l’utilisateur Instagram.

6. Obtenir les objets multimédias du compte Instagram Business

Utilisez l’ID d’utilisateur Instagram que vous avez enregistré pour interroger le point de terminaison GET /{ig-user-id}/media :

curl -i -X GET \
 "https://graph.facebook.com/v19.0/17841405822304914/media?access_token={access-token}"

L’opération doit renvoyer les ID de tous les objets multimédias Instagram sur l’utilisateur Instagram :

{
  "data": [
    {
      "id": "17918195224117851"
    },
    {
      "id": "17895695668004550"
    },
    {
      "id": "17899305451014820"
    },
    {
      "id": "17896450804038745"
    },
    {
      "id": "17881042411086627"
    },
    {
      "id": "17869102915168123"
    }
  ],
  "paging": {
    "cursors": {
      "before": "QVFIUkdGRXA2eHNNTUs4T1ZAXNGFxQTAtd3U4QjBLd1B2NXRMM1NkcnhqRFdBcEUzSDVJZATFoLWtXMWZAGU2VrRTk2RHVtTVlDckI2NjN0UERFa2JrUk4yMW13",
      "after": "QVFIUmlwbnFsM3N2cV9lZAFdCa0hDeV9qMVliT0VuMmJyNENxZA180c0t6VjFQVEJaTE9XV085aU92OUFLNFB6Szd2amo5aV9rTlVBcnNlWmEtMzYxcE1HSFR3"
    }
  }
}

Si vous parvenez à exécuter cette requête finale, vous devez être en mesure d’exécuter des requêtes à l’aide de n’importe quel point de terminaison de l’API Graph pour Instagram. Consultez nos différents guides et documents de référence pour découvrir à quoi sert chaque point de terminaison et quelle autorisation il requiert.

Étapes suivantes

  • Développez votre application pour lui permettre d’utiliser les autres points de terminaison dont elle a besoin, et surveillez les autorisations requises par chacun de ces points de terminaison.
  • Exécutez le processus Contrôle app et demandez une approbation pour toutes les autorisations dont votre application aura besoin, afin que les utilisateur·ices de l’application puissent accorder ces autorisations pendant que votre application se trouve en direct.
  • Passez votre application en direct et commercialisez-la auprès de ses utilisateur·ices potentiel·les.

Une fois que votre application se trouve en direct, tou·tes les utilisateur·ices Facebook qui sont autorisé·es à l’utiliser ont accès aux données d’un compte Instagram Business ou créateur pour Instagram, sous réserve que leur compte utilisateur Facebook puisse effectuer des tâches sur la Page associée au compte Instagram Business ou créateur.