Facebook JavaScript SDK - 查询个人资料照片

4

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

不想要Graph 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个回答

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
你不需要打破字符串来添加用户ID。你可以使用 me() 方法: 'SELECT pid,src_big FROM photo WHERE aid IN (SELECT aid FROM album WHERE owner=me() AND name = "Profile Pictures")' - user339827

3
我尝试过这个,但无法使其工作,但是这个可以:
你还可以获取特定大小的个人资料图片。
FB.api("/me/picture?width=180&height=180",  function(response) {

        console.log(response.data.url);

});  

请查看Facebook文档以了解可获取的不同图片尺寸。
我的演示中包含登录,详情请参见:使用Javascript SDK获取Facebook个人资料图片

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

这将返回所有个人资料图片链接。
您正在尝试从用户的相册中获取...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接