Démarrer

Ce tutoriel vous montre comment configurer une application dans l’Espace App, obtenir un token d’accès d’utilisateur·ice Instagram de courte durée, puis utiliser ce token afin d’interroger l’API sur le profil d’un·e utilisateur·ice Instagram. À la fin de ce tutoriel, vous aurez les connaissances de base pour obtenir un token d’accès et des autorisations des utilisateur·ices de votre application, et exécuter des requêtes basiques avec l’API.

Pour suivre ce tutoriel, vous devez être en mesure d’exécuter des requêtes cURL basiques avec un outil de ligne de commande ou une application telle que Postman.

Avant de commencer

Vous aurez besoin des éléments suivants :

  • Un compte Instagram avec des contenus multimédias.
  • Un site web public vous appartenant. Il peut s’agir d’un site générique gratuit, comme une page GitHub ou une application web Heroku, ou de votre propre site web.
  • Un outil de ligne de commande tel que Terminal ou une application comme Postman qui peut effectuer des requêtes cURL.

Étape 1 : Créer une application Facebook

Accédez à la page developers.facebook.com, cliquez sur Mes applications, puis créez une application et sélectionnez Consommateur ou Aucun comme type d’application.

Une fois que vous avez créé l’application et ouvert l’Espace App, accédez à Paramètres > Paramètres de base, faites défiler la page jusqu’en bas, puis cliquez sur Ajouter une plateforme.

Choisissez Site web, ajoutez l’URL de votre site web, puis enregistrez vos modifications. Vous pouvez changer de plateforme plus tard si vous le souhaitez, mais pour ce tutoriel, utilisez Site web.

Étape 2 : Configurer Instagram Basic Display

Cliquez sur Produits, trouvez le produit Instagram Basic Display, puis cliquez sur Configurer pour l’ajouter à votre application.

Faites défiler la page jusqu’en bas, puis cliquez sur Créer une application.

Dans le formulaire qui s’affiche, remplissez chaque section en suivant les règles ci-dessous.

Nom d’usage

Saisissez le nom de l’app Facebook que vous venez de créer.

URI de redirection OAuth valides

Saisissez l’URL de votre site web. Il s’agit généralement d’un URI dédié qui peut capturer des paramètres de chaîne de requête de redirection, mais pour ce tutoriel, l’URL de votre site web conviendra parfaitement.

Par exemple : https://socialsizzle.heroku.com/auth/

Après avoir saisi une URL, enregistrez vos modifications et vérifiez à nouveau l’URL ; il se peut que nous ayons ajouté une barre oblique initiale en fonction de la structure de votre URL. Copiez l’URL complète à part, car vous en aurez besoin ultérieurement pour obtenir les codes d’autorisation et les tokens d’accès.

Annuler l’autorisation de l’URL de rappel

Saisissez à nouveau l’URL de votre site web. Vous devrez finalement la remplacer par une URL pouvant gérer les notifications d’annulation d’autorisation, mais dans le cadre de ce tutoriel, vous pouvez réutiliser l’URL de votre site web.

URL de rappel de la demande de suppression des données

Saisissez une nouvelle fois l’URL de votre site web. Comme pour l’URL de rappel d’annulation d’autorisation, vous devrez finalement la remplacer par une URL pouvant gérer les demandes de suppression de données, mais pour le moment, vous pouvez réutiliser l’URL de votre site web.

Contrôle app

Ignorez cette section pour le moment dans la mesure où vous n’aurez pas à passer l’application en mode Live dans ce tutoriel.

Étape 3 : Ajouter un·e utilisateur·ice test Instagram

Naviguez jusqu’à Rôles > Rôles, puis faites défiler la page vers le bas jusqu’à la section Testeur·ses Instagram. Cliquez sur Ajouter des testeur·ses Instagram, saisissez le nom d’utilisateur·ice de votre compte Instagram, puis envoyez l’invitation.

Ouvrez une nouvelle session de navigateur web, accédez à www.instagram.com, puis connectez-vous au compte Instagram que vous venez d’inviter. Sélectionnez (Icône du profil) > Modifier le profil > Applications et sites web > Invitations à tester, puis acceptez l’invitation.

Votre compte Instagram est désormais accessible par votre application Facebook en mode développement.

Étape 4 : Authentifier l’utilisateur·ice test

Construisez l’URL de la fenêtre d’autorisation ci-dessous, en remplaçant {app-id} par votre ID d’application Instagram (à partir de Espace App > Produits > Instagram > Basic Display > ID de l’application Instagram) et {redirect-uri} par l’URL du site web que vous avez fournie à l’étape 2 (« URI de redirection OAuth valides »). L’URL doit être exactement la même.

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

Par exemple :

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

Ouvrez une nouvelle fenêtre de navigateur et chargez l’URL de la fenêtre d’autorisation. Elle doit apparaître et afficher votre nom d’utilisateur·ice Instagram, le nom de l’application et une description des autorisations demandées par votre application.

Authentifiez votre utilisateur·ice test Instagram en vous connectant dans la fenêtre d’autorisation, puis cliquez sur Autoriser pour accorder à votre application l’accès à vos données de profil. Une fois cette opération correctement accomplie, la page vous redirige vers l’URI de redirection que vous avez inclus à l’étape précédente et ajoute un code d’autorisation. Par exemple :

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

Notez que #_ a été adjoint à l’URI de redirection, mais qu’il ne fait pas partie du code lui-même. Copiez le code (sans #_ portion) afin de l’utiliser à l’étape suivante.

Les codes d’autorisation sont de courte durée et ne sont valables qu’une heure.

Étape 5 : Échanger le code contre un token

Ouvrez votre outil de ligne de commande ou votre application qui prend en charge les requêtes cURL et envoyez la requête POST suivante à l’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}

Remplacez {app-id}, {app-secret}, {redirect-uri} et {code} par votre ID d’application Instagram, votre clé secrète Instagram, votre URI de redirection et le code que nous vous avons envoyé. Assurez-vous que votre URI de redirection correspond exactement à celui que vous avez spécifié à l’étape précédente, y compris les barres obliques avant de fin, si l’Espace App les a ajoutées lorsque vous avez configuré votre app Instagram.

Par exemple :

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

En cas de réussite, l’API renvoie un objet encodé en JSON contenant un token d’accès de courte durée pour utilisateur Instagram, valide pendant une heure et votre ID d’utilisateur test :

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

Copiez le token d’accès et l’ID utilisateur afin de les utiliser à l’étape suivante.

Étape 6 : Interroger le nœud Utilisateur·ice

Utilisez l’outil de ligne de commande ou l’application et la requête cURL ci-dessous pour interroger le nœud Utilisateur·ice sur votre ID et nom d’utilisateur·ice. Remplacez {user-id} et {access-token} par l’ID et le token d’accès que vous avez reçus à l’étape précédente.

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

Par exemple :

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

Vous pouvez également interroger le nœud Me qui examine votre token, détermine l’ID de l’utilisateur·ice Instagram qui a accordé le token et interroge cet·te utilisateur·ice. Par exemple :

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

En cas de réussite, l’API répond avec vos ID et nom d’utilisateur Instagram :

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

Étapes suivantes

Vous savez à présent comment obtenir un token et effectuer une requête basique, lisez nos guides pour en savoir plus sur les utilisations de l’API.