4 années ago
1476 Views

Afficher la photo du profile Facebook via le SDK javascript

Ecrit par

Vous êtes vous déjà demander comment afficher la photo de profile d’un utilisateur Facebook une fois celui-ci connecté ? Rien de plus facile, suivez le guide !

Lorsque que l’on travaille sur un site où l’on souhaite afficher la photo de profil pleine taille d’un utilisateur de Facebook, il peut être utile de connaitre cette astuce.
En effet, Facebook
dispose d’un raccourci pratique pour obtenir l’image de profile de quelqu’un, mais la seule taille disponible est de 200 pixels de large seulement, ce qui pourrait être insuffisant pour certaines applications.Dans cet article je vais rapidement expliquer un peu plus loin comment obtenir l’image à sa taille réelle.

Si une image de 200px vous convient ce lien est suffisant :

http://graph.facebook.com/<user.id>/picture?type=large

Par contre si vous souhaitez aller plus loin, j’ai peut être de quoi vous satisfaire encore plus !

Les deux méthodes suivantes amène au même résultat, vous suivrez donc celle que vous préfèrerez, je les décris toutes les deux.

Les scripts suivants partent du postulat suivant  

Graph API méthode

La méthode Graph API suivante repose sur deux appels d’API :
La premièr demande tous les albums des utilisateurs afin d’obtiennir l’ID de chaque album disposant d’ « Images de profil« 
La seconde récupère la première image de chaque album
 

// Récupère la liste de tous les albums
FB.api('/me/albums', function (response) {
 for (album in response.data) {
 // Extrait la photo de profile de l’album
    if (response.data[album].name == "Profile Pictures") {
      // Get a list of all photos in that album.
      FB.api(response.data[album].id + "/photos", function(response) {
        // Lien vers l’image
        image = response.data[0].images[0].source;
      });
    }
  }
});

 

Méthode FQL

La méthode FQL nécessite également deux appels d’API : Le premier pour obtenir l’ID utilisateur, et le second exécuter une FQL pour obtenir l’image. Vous pouvez réduire ce code à un appel d’API si vous disposez déjà de l’ID utilisateur.

//récupère l'id de l'utilisateur courrant
FB.api('/me', function (response) {
   // Requête FQL pour obtenir le lien vers la première image de l'album "Profile pictures" de cet utilisateur.
  var query = FB.Data.query('select src_big from photo where pid in (select cover_pid from album where owner={0} and name="Profile Pictures")', response.id);
  query.wait(function (rows) {
     //le lien vers l'image
    image = rows[0].src_big;
  });
});
Article Categories:
Facebook API

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

This site uses KeywordLuv. Enter YourName@YourKeywords in the Name field to take advantage.