J'essaie d'extraire une image de profil de Facebook. En ce moment, je reçois toutes les informations de Facebook mais je ne peux pas avoir une image de profil de l'utilisateur. Voici mon code:
function getFBData () { FB.api('/me', function(response) { fbinfo = new Array(); fbinfo[0] = response.id; fbinfo[1] = response.first_name; fbinfo[2] = response.last_name; fbinfo[3] = response.email; FB.api('/me/picture?type=normal', function (response) { var im = document.getElementById("profileImage").setAttribute("src", response.data.url); alert(im); });
Comment puis-je obtenir une image de la réponse de cette API?
Pourquoi n'utilisez-vous que l'identifiant que vous avez déjà récupéré et que vous affichez l'image directement? Pourquoi devez-vous faire un appel supplémentaire?
par exemple
function getFBData () { FB.api('/me', function(response) { fbinfo = new Array(); fbinfo[0] = response.id; fbinfo[1] = response.first_name; fbinfo[2] = response.last_name; fbinfo[3] = response.email; var im = document.getElementById("profileImage").setAttribute("src", "http://graph.facebook.com/" + response.id + "/picture?type=normal"); }); }
Par exemple http://graph.facebook.com/4/picture?type= redirections normales à l'image de Mark Zuck
Si vous rencontrez des problèmes, connectez-vous à l'URL afin de vous assurer que vous obtenez un identifiant valide et collez l'url dans un navigateur.
Essayez comme
FB.api("/me", {fields: "id,name,picture"}, function(response) { FB.api( { method: 'fql.query', query: 'SELECT pid, src_big, src_big_height, src_big_width FROM photo WHERE aid IN ( SELECT aid FROM album WHERE owner="' + response.id + '" AND name = "Profile Pictures")' }, function(data1) { alert( data1[0].src_big ); } ); });
Cela vous donnera le lien de l'image et vous pouvez l'utiliser de manière appropriée
Une option supplémentaire
J'ai essayé cela et cela fonctionne avec succès. Essaye ça :
FB.api('/me', { fields: 'id, name, email' }, function(response) { var userInfo = document.getElementById('user-info'); userInfo.innerHTML = '<img src="https://graph.facebook.com/' + response.id + '/picture">' + response.name ; });
J'espère que vous avez obtenu la réponse.
essaye ça:
FB.api('/me/picture?type=normal', function(response) { var str="<img style='border: 3px solid #3a3a3a;' src='"+response.data.url+"'/>"; return str; });