如何使用FB.api('/ me/picture')获取个人资料图片

use*_*451 7 facebook facebook-graph-api

这是一个非常愚蠢的问题.我是facebook Javascript SDK的初学者.所以我试图让用户的个人资料图像显示我使用了这个代码

FB.api('/me', function(response) {      
    document.getElementById('login').style.display = "block";
    document.getElementById('login').innerHTML = '<img src="http://graph.facebook.com/' + response.id + '/picture" />';
});
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但我试图了解如何使用FB.api('/me/picture')来显示图像.

Igy*_*Igy 14

/me/picture(或/{user id}/picture)将HTTP 301重定向返回到图像位置,以便您可以将其直接嵌入到图像位置<img src...

如果您想要检索URL并自己使用它,您需要通过以下方式专门请求它作为字段:

 /{user id}?fields=picture
Run Code Online (Sandbox Code Playgroud)

要么

 /me/?fields=picture
Run Code Online (Sandbox Code Playgroud)

你也可以包括其他字段,但我假设你现在只想要照片.


jk.*_*jk. 9

您还可以获得个人资料照片的特定尺寸:

FB.api("/me/picture?width=180&height=180",  function(response) {

        console.log(response.data.url);

});  
Run Code Online (Sandbox Code Playgroud)

请参阅Facebook文档,了解您可以获得的不同图片尺寸.

以及登录的完整演示:使用Javascript SDK获取Facebook个人资料图片


ifa*_*our 0

FB.api('/me/picture')将返回到图像 URL 的重定向,因此它对您没有用处:
替代文本
您使用的方式是有效的,如文档(阅读部分)中所述。也许是相关的,但我不知道它是否完全有效。