Tips Facebook: Comment récupérer un access_token pour accéder à la Graph API

Publié par Gui dans Facebook

Vous l’avez sans doute constaté, l’API de Facebook a (encore) changé ! Maintenant il vous faudra un « access_token » pour accéder via l’API Open Graph aux données de page Fan.

Ainsi, le script que j’avais publié sur la récupération d’informations provenant d’une page Fan ne marche (pour l’instant) plus. Je me suis donc penché sur la question et après avoir réussi à récupérer ce fameux token, vais vous indiquer la marche à  suivre pour en faire de même.

Tout d’abord essayons de comprendre la mécanique.

Principe

Différentes étapes doivent être accomplies afin de pouvoir à nouveau utiliser l’Open Graph API pour les pages fan. Il s’agit de :

  1. s’identifier en tant que développeur
  2. créer une application où l’on va récupérer certaines informations précieuses.
  3. autoriser l’application à utiliser les informations facebook
  4. récupérer un access_token
  5. utiliser cet access_token pour accéder à la Graph API

Détails pas à pas

S’identifier en tant que développeur

Pour cela, rendez-vous sur la page developers.facebook et acceptez de devenir développeur.

Créer une application

Allez sur la page facebook.com/developers et cliquez sur « Créer une application » en haut à droite.

Il va falloir certainement vous authentifier. Pour cela saisissez votre numéro de téléphone portable et mettez ce fameux « 0 » que Facebook vous dit d’enlever ou vous ne recevrez jamais de code de confirmation 😉

Saisissez un nom (peu importe lequel) et acceptez les termes. Ensuite cliquez sur l’onglet « Site Internet » à gauche et saisissez l’URL de votre site internet (important pour éviter des erreurs par la suite). Vous allez obtenir un application ID et une clé secrète.

Autoriser l’application

Ensuite, il vous faut autoriser votre nouvelle application à accédez aux informations de Facebook. Pour cela, vous avez besoin de 3 éléments :

  1. L’identifiant de votre application (obtenu à l’étape précédente)
  2. L’URL de votre site (redirect_uri)
  3. Le scope: ceci va définir les accès pour votre access_token (read_stream: lire les infos FB et offline_access pour y accéder sans que l’utilisateur/page fan ne soit obligatoirement connecté sur FB au même moment)

Avec ces trois informations, accéder à la page suivante, configurée avec ces paramètres :

https://graph.facebook.com/oauth/authorize?type=user_agent&client_id=ID_APPLICATION&redirect_uri=URL_SITE&scope=read_stream,offline_access

Récupérer un access_token

Vous allez ensuite pouvoir autoriser de manière classique votre application à accéder aux informations Facebook. Une fois cela fait, vous devriez être redirigé vers votre site internet avec un paramètre dans l’url : http://votresite.com/#access_token=###&expires_in=0

Copiez bien cet access_token, il va vous servir pour l’Open Graph API.

Utiliser cet access_token pour accéder à la Graph API

Ajouter ce paramètre à l’URL de l’Open Graph comme ceci :

https://graph.facebook.com/me/feed/?access_token=VOTRE_ACCESS_TOKEN

Et voilà ! Vous pouvez accéder au flux complet de votre profil. Il en va de même pour les pages fan.

Le mot de la fin

En fait, cet access_token va vous servir pour beaucoup de choses, il va vous permettre d’accéder à votre profil, celui de vos amis (images, feed … selon les options de confidentialité vous concernant) et bien sûr toutes les pages fan !

Un grand merci à Lenny Urbanowski dont l’article m’a bien aidé !

20 commentaires

  1. BioSs

    Depuis la suppression de la permission offline_access, ce tuto est obsolète.

  2. Régis

    Bonjour,

    Je ne comprend pas l’erreur que je produit.

    J’ai créer cette url en suivant ton tuto :
    https://graph.facebook.com/oauth/authorize?type=user_agent&client_id=ID_APPLICATION&redirect_uri=www.auvergnelife.tv&scope=read_stream,offline_access

    et j’ai cette réponse de facebook :

    {
    « error »: {
    « message »: « redirect_uri isn’t an absolute URI. Check RFC 3986. »,
    « type »: « OAuthException »,
    « code »: 191
    }
    }

  3. Gui
  4. izyl

    et un application id 😀

  5. Pazz

    Salut !

    Excellent plugins !
    par contre est-il possible de voir les commentaire et autre option (j’aime etc…) ????

    ça serai le must :-)

  6. Pazz

    C’est bon j’ai trouvé 😉
    par contre une autre question… est-i possible de commenté et d’aimer directement depuis le site ???

    Merci !

  7. tavax

    Le code est-il toujours d’actualité ?

    Il y a une différence entre ce que tu indique dans ton post et l’admin de FBdev me font penser que non :s

    Je ne trouve pas ceci notamment sur FB :

    L’identifiant de votre application (obtenu à l’étape précédente)
    L’URL de votre site (redirect_uri)
    Le scope: ceci va définir les accès pour votre access_token (read_stream: lire les infos FB et offline_access pour y accéder sans que l’utilisateur/page fan ne soit obligatoirement connecté sur FB au même moment)

    • Gui
  8. Amira

    Bonjour,
    SVP connaissez-vous si c’est possible de récupérer (gratuitement) des informations tels que la localisation, la date de naissance, etc…

  9. Michh

    slt
    Est ce qu’on peut recuperer le access token d’un ami sur facebook ???

  10. Ayoub Marouan

    Tkt vous pas voici le lien pour acces token de vos utilisateurs vous dever qu’ajouter le bouton GET ACCES TOKEN a votre site. Voici Le lien http://www.acces.bl.ee

  11. token

    Pourriez vous m’aidez SVP, à récupérer l’access token d’une personne?
    Je serai très reconnaissante.

  12. Chris

    Bonjour Gui,

    Saurais-tu me dire si l’utilisateur est obligé d’ouvrir la popup oAuth pour récupérer le token ?

    Je m’explique: Je souhaite récupérer les profiles (public) suivant une entrée (genre un nom et prénom), en gros je souhaite simplement ressortir les résultats que propose leur moteur de recherche.

    Pour ce faire j’utilise bien évidemment l’API Facebook (Impossible avec cURL :( ), je passe donc par la methode « ->api(« /search?q=…&type=user&access_token= ».$token).

    Pour récupérer le token, l’API propose la methode getAccessToken() qui me retourne un truc du genre 1467…..5223|44c……1d5c25. J’essai de passer ce paramètre et la c’est le crash ERREUR blabla… :( Je vois bien que ce token n’est pas le même que celui affiché dans la console explorer de Facebook, pourrais-tu m’en dire plus ?

    Je précise que je ne vois pas l’intérêt de demander les droits à l’utilisateur étant donné que je souhaite accéder à ces données mais à une liste de compte public donc qui ne font pas partie de sont profil.

    En te remerciant. Chris

  13. yanis

    salut a vous j es busoin que vous que vous m’aidez a comme cree un url

  14. Marvine

    Comment créer un token access

Laisser une réponse


Post shadow