La semaine dernière je me suis battu avec Instagram. Il ne me laissait pas récupérer mes contenus, alors qu’il me disait que j’avais le droit ! Le coquin. 

Si vous jetez un coup d’oeil à la documentation d’Instagram, il est précisé en rouge sang que vous n’avez pas besoin de soumettre pour une review votre application destinée à afficher vos derniers contenus.

Sauf que dans les faits, le support ne vous donne pas la marche à suivre pour parvenir à vos fins. Si vous souhaitez effectivement afficher vos dernières photos Instagram en utilisant l’API et vos Access Token, préparez-vous à avoir un peu de mal.

Avant toute chose, nous allons partir du constat suivant :

  • Vous avez un compte Instagram avec du contenu
  • Vous avez un compte développeur sur la plateforme dédiée – http://instagram.com/developer
  • Vous avez créé une application qui est en mode bac à sable (sandbox mode)
  • Vous avez un site web où vous souhaitez afficher vos contenus
  • Vous savez utiliser l’API Instagram (ou au moins vous avez un script qui récupère les contenus)

Une fois que c’est ok, voici ci-dessous ce que vous allez devoir faire pour avoir l’autorisation d’Instagram de récupérer vos contenus. Direction Instagram Developer !

Première étape :

Dans l’onglet « Security« , décochez « Disable implicit OAuth » et ajoutez vos URL finales (la première étant le domaine principal, la seconde un localhost pour récupérer la valeur de l’Access Token).

Deuxième étape :

https://instagram.com/oauth/authorize/?client_id=[CLIENT_ID]&redirect_uri=http://localhost&response_type=token

Vous allez copier / coller cette URL en ajoutant votre Client ID de l’étape précédente. Voici en tout cas ce que précise la plupart des guides. Mais si vous ne faites que cela, il vous manquera l’autorisation de récupérer les médias de l’utilisateur.

Vous devez ajouter « &scope=public_content » à l’URL pour avoir l’autorisation d’accéder aux 20 dernières photographies du compte.

https://instagram.com/oauth/authorize/?client_id=[CLIENT_ID]&redirect_uri=http://localhost&response_type=token&scope=public_content

(pour info, je me suis arraché les cheveux sur cette partie là pendant 2 heures avant de trouver la solution …)

Troisième étape :

Une vois que vous validez l’URL ci-dessus avec votre Client ID modifié, vous allez tomber sur les permissions Instagram. Cliquez sur « Yes » à chaque fois, sinon vous n’aurez pas les accès.

Puis, une page blanche s’affichera dont l’URL débute par « localhost/#access_token=« . Votre Access Token tant attendu se trouve juste ici.

Copiez / collez cette chaîne de caractères dans votre application (ou script de galerie) et voilà !

Elle est pas belle la vie ? Merci Instagram pour nous faire autant chercher de nouvelles solutions 🙂