Instagram : Comment utiliser l’API

Utiliser l’API Instagram

Présentation

Instagram, ce réseau social entièrement basé sur le partage d’image connaît un succès fulgurant, lancé en Octobre 2010, qui comptabilise plus de 100 Millions d’inscrit à l’heure d’aujourd’hui dont quelques 7.5 Millions d’utilisateurs actifs quotidiennement.La société fût acquise par Facebook le 9 Avril 2012.

Principalement utilisé depuis des smartphone sous Android et iOs, Instagram vient de proposer récemment une API afin de développer des sites et applications utilisant leurs ressources pour s’ouvrir vers de nouvelles possibilités pour les usagers.

Nous allons donc voir au travers de cet article, un mini-tutorial, comment exploiter cette API.

Pré requis

Avant de commencer à développer, il vous faut un compte Instagram, si vous n’en avez pas encore, je vous invite à vous en créer un depuis votre Smartphone en téléchargeant l’application, c’est la seule solution pour le moment de se créer un compte Instagram.

Une fois que vous avez un compte, rendez vous sur l’adresse suivante :

http://instagram.com/developer/

Connectez-vous à votre compte et enregistrez votre application via le bouton « Register Your Application »

Instagram - API
Instagram – API

Il vous faudra renseigner quelques paramètres tel que :

  • -Le nom de votre application
  • -La description
  • -L’adresse de votre site
  • -L’adresse de redirection URI, la page vers laquelle seront renvoyés les utilisateur après avoir accepté ou refuser de s’authentifier.

Une fois votre application enregistrer, Instagram vous communiquera un CLIENT_ID et un CLIENT_SECRET propre à votre application, vous en aurez besoin pour la suite de l’aventure.

L’authentification

Maintenant il va falloir diriger les utilisateurs que vous souhaitez authentifier avec Instagram sur cette url :

https://instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token

En prenant bien soin de remplacer le CLIENT-ID et REDIRECT-URI par ceux que vous avez généré l’application Instagram.

Par défaut, vous accéder aux permissions basic qui sont d’avoir accès à toutes les photos du membre, les informations de son profil ainsi que sa liste d’abonnées et ses abonnements.

Si vous souhaitez avoir plus d’informations sur votre utilisateur, il faudra alors à la fin de l’url rajouter :

&scope=PARAMETRES

En prenant soin de remplacer paramètres par un des paramètres suivant :

  • basic – paramètre par défaut
  • likes – liké ou unliké des photos des utilisateurs d’Instagram
  • relationships – s’abonner ou se désabonner à des utilisateurs d’Instagram
  • comments – écrire ou supprimer des commentaires

Si vous souhaitez par exemple avoir deux paramètres, il suffit de les séparer par un plus comme ceci :

&scope=likes+comments

Une fois votre url authentification associé à un lien ou bouton, voici la fenêtre que vous avez en cliquant dessus :

Instagram - API Authorization
Instagram – API Authorization

Si l’utilisateur refuse de s’identifier via votre application, il sera redirigé vers votre page de redirection défini dans l’application avec les attributs suivants :

?error=access_denied&error_reason=user_denied&error_description=The+user+denied+your+request

Pensez donc bien à prévoir l’erreur où l’utilisateur n’accepte pas cette dernière.

Par contre si, au contraire, il a accepté vous recevrez un attribut code avec un token en paramètres, comme ceci ?code=ddfds564654ds6f54ds65fds65f465ds4f6

Une fois ce code reçu il vous faudra effectuer une opération de CURL pour avoir un token valide. Pour le moment Instagram n’attribut aucune date d’expiration au token que vous recevrez, mais il est préférable de se prémunir contre certaines mise à jour futur futures.

Pour l’appel cUrl, voici l’exemple :

if (isset($_GET[‘code’]))

{
$c = curl_init();

$postfields = array(
‘client_id’ => ‘VOTRE_CLIENT_ID’,
‘client_secret’ => ‘VOTRE_CLIENT_SECRET’,
‘grant_type’ => ‘authorization_code’,
‘code’ => $_GET[‘code’],
‘redirect_uri’ => ‘VOTRE_URL_URI’
);

$url = « https://api.instagram.com/oauth/access_token »;

$ch = curl_init();

// EXECUTE THE CURL…
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //to suppress the curl output
$result = curl_exec($ch);
curl_close ($ch);

// Affiché le résultat, si tout va bien vous verrez une réponse type 200.
print_r($result);

}

Voici les informations reçu après avoir accepté l’application (J’ai volontairement caché une partie de mon Token)

Instagram - Answer API
Instagram – Answer API

A vous ensuite, de vous créer des fonctions pour sauvegarder ces tokens en bases et incrémenter les fonctions voulus au cœur de votre site.

Vous trouverez de l’aide sur l’API d’Instagram sur le site officiel : http://instagram.com/developer

4 Commentaires

  1. Bonjour !
    Merci tout d’abord pour cet article.
    Je voudrais créér un espace sur mon site web ou l’on pourrait voir les photos de mon compte instagram (plus de 1000 à ce jour !).
    L’API pourrait m’aider ? J’aimerai que tous le monde puisse voir mes photos sans avoir obligatoirement un compte instagram (sinon le site ne sert a rien 😉 ). Bien sur si les visiteurs pourrait en plus se connecter à instagram pour aimer les photos ce serait génial, mais devant toutes les lignes de code qui m’attende, je perd patience.
    Merci

  2. slt,merci pour votre article il m’a beaucoup aidé mais je voudrais savoir s’il est possible d’envoyer des photos à partir de sa page web sur son compte instagram comme le fait le bouton parteger de twitter

    • Bonjour Flora,

      L’API proposé par Instagram ne permet pas de faire cela légalement. Cependant vous pouvez trouver quelques solutions payantes qui vous permettent de réaliser cela à partir de leur site.

      Cordialement,

      Frederique

  3. Bonjour 🙂

    Merci beaucoup pour cet article très intéressant, je suis nouveau dans l’algorithmique et j’essaye de construire un scipt qui me permettrait de quotidiennement enregistrer dans un fichier excel le nombre de followers de plusieurs comptes instagram. Est-ce que c’est possible ?
    Si oui, comment puis-je faire ?

    Merci d’avance,

    David

LAISSER UN COMMENTAIRE

Merci de rentrer votre commentaire
Merci de rentrer votre nom

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.