Obtenir une image de profil en taille réelle

Y a-t-il de toute façon pour obtenir la photo de profil en taille réelle en utilisant une api facebook?

Http://graph.facebook.com/{ID}/image?type=grande est la façon de le petit.

Merci :)

43
demandé sur Richard 2011-12-20 15:32:12

7 réponses

Je pense que j'utilise la méthode la plus simple pour obtenir la photo de profil complète. Vous pouvez obtenir une image de profil complète ou vous pouvez définir la dimension de l'image de profil vous-même:

$facebook->api(me?fields=picture.width(800).height(800))

, Vous pouvez définir width et height selon votre besoin. Bien que Facebook ne renvoie pas la taille exacte demandée, il renvoie l'image de dimension la plus proche disponible avec eux.

78
répondu Smita 2017-06-21 08:15:46

Définissez la largeur ou la hauteur sur un nombre arbitrairement grand:

https://graph.facebook.com/username_or_id/picture?width=9999

Si la largeur et la hauteur sont identiques, la photo est recadrée en un carré.

120
répondu user495470 2014-07-22 13:16:12

Trouvé un moyen:

$albums = $facebook->api('/' . $user_id . '/albums');
foreach($albums['data'] as $album){
    if ($album['name'] == "Profile Pictures"){
        $photos = $facebook->api('/' . $album['id'] . '/photos');
        $profile_pic = $photos['data'][0]['source'];
        break;
    }
}
6
répondu Richard 2013-07-13 05:30:13

Comme indiqué ci-dessus, il semble que la photo de couverture de l'album de profil est une photo de profil haute résolution. Je vérifierais le type d'album de "profil" plutôt que le nom, car le nom peut ne pas être cohérent dans différentes langues, mais le type devrait l'être.

Pour réduire le nombre de requêtes / d'analyse, vous pouvez utiliser ce fql: "sélectionnez cover_object_id dans l'album où type= 'profile' et owner=user_id "

, puis vous pouvez construire l'url de l'image avec: "https://graph.facebook.com/" + cover_object_id + "/image&type=normal&access_token=" + access_token

On dirait qu'il n'y a pas de type "grand" pour cette image, mais celui "normal" est encore assez grand.

Comme indiqué ci-dessus, cette photo peut être moins accessible que la photo de profil public. Vous avez besoin de l'autorisation user_photos ou friend_photos pour y accéder.

4
répondu David Kinghorn 2012-01-26 21:38:59

Vous pouvez utiliser des outils de développement comme firebug dans firefox. Faites un clic droit sur l'image et inspectez l'élément avec firebug.

, Vous obtiendrez l'URL d'où facebook récupère l'image. Vous y trouverez une URL comme celle-ci

Http://profile.ak.fbcdn.net/hprofile-ak-snc7/c160.2.762.762/s160x160/297962_1190xxxxx203889_104xxxxx723_n.jpg

J'ai mis délibérément 'x' dans le lien pour des raisons de confidentialité.

Voir l'image en pleine résolution ouvrir un nouvel onglet et ouvrez cette url:

Http://sphotos-e.ak.fbcdn.net/hphotos-ak-snc6/"297962_1190xxxxx203889_104xxxxx723_n.jpg"

Comme vous pouvez le voir, j'ai mis exactement le nom de l'image après le '/'

Supprimez les guillemets et ouvrez le lien. Vous obtiendrez la taille réelle de l'image.

2
répondu nikoo28 2013-03-28 13:47:58

Avec Javascript, vous pouvez obtenir des images de profil en taille réelle comme ceci

Passez votre accessToken à la fonction getface() à partir de votre FB.init appel

function getface(accessToken){
  FB.api('/me/friends', function (response) {
    for (id in response.data) { 
        var homie=response.data[id].id         
        FB.api(homie+'/albums?access_token='+accessToken, function (aresponse) {
          for (album in aresponse.data) {
            if (aresponse.data[album].name == "Profile Pictures") {                      
              FB.api(aresponse.data[album].id + "/photos", function(aresponse) {
                console.log(aresponse.data[0].images[0].source); 
              });                  
            }
          }   
        });
    }
  });
}
2
répondu Kristian 2013-07-13 05:32:26

Les photos de profil sont réduites à 125x125 sur le serveur facebook lorsqu'elles sont téléchargées, donc pour autant que je sache, vous ne pouvez pas obtenir des images plus grandes que cela. Quelle est la taille de l'image que vous obtenez?

-8
répondu ACarter 2011-12-20 11:39:34