Facebook Javascript SDK - 查询个人资料图片

时间:2011-12-11 23:19:18

标签: facebook-graph-api facebook

我正在尝试通过Javascript SDK查询个人资料图片。

不想使用图表api链接,我想获得src_big链接。

我有以下代码:

FB.api("/me", {fields: "id,name,picture"}, function(response)
{

    alert( response.picture );


    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('BIG ' + data1.pic_big );

            }
    );


});

它应该给我src_big但不是。{ 有人有这个成功吗?

3 个答案:

答案 0 :(得分:3)

问题不是在查询时,问题是在访问对象时。

必须以奇怪的方式访问它。

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 );
            }
    );

});

谢谢

答案 1 :(得分:3)

我试过这个,无法让它工作但是这样做了:

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

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

        console.log(response.data.url);

});  

请参阅Facebook documentation to see what different picture sizes you can get

我的演示登录于:Get Facebook Profile Picture with Javascript SDK

答案 2 :(得分:0)

您是否曾尝试从fql的用户表中获取个人资料图片。

查询将是

"select uid, pic, pic_small, pic_big, pic_square from user where uid=me()"
//replace this me() with the id of the user

这将返回个人资料照片的所有链接。

您尝试的是从用户的相册中获取...