得到朋友facebook mobile fb.ui你好世界

时间:2012-08-06 04:24:22

标签: facebook-graph-api mobile fb.ui

我正在开发一款Facebook移动网络应用。有以下功能。

function getUserFriends() {
    FB.api('/me/friends&fields=name,picture', function(response) {
        console.log('Got friends: ', response);

        if (!response.error) {
            var markup = '';

            var friends = response.data;

            for (var i=0; i < friends.length && i < 25; i++) {
                var friend = friends[i];

                markup += '<img src="' + friend.picture + '"> ' + friend.name + '<br>' + friend.id + '<br>';
            }

            document.getElementById('user-friends').innerHTML = markup;
        }
    });
}

当它返回时,图片丢失。 控制台日志返回:

[06:02:12.503] GET http://m.mochirestaurant.com/fb/%5Bobject%20Object%5D [HTTP/1.1 404 Not Found 77ms]

虽然它应该返回类似:

http://profile.ak.fbcdn.net/hprofile-ak-ash2/276211_285403872_5043326_q.jpg

我认为我在我的脸书应用程序中配置错误,但不知道它是什么

1 个答案:

答案 0 :(得分:0)

  

[06:02:12.503] GET http; // m.mochirestaurant.com/fb/%5Bobject%20Object%5D [HTTP / 1.1 404 Not Found 77ms]

而不是真正的值,你可以看到它在那里显示[object](括号URL编码) - 这是当你试图将对象带入字符串上下文时浏览器返回的内容。 (因为这不是以http:// ...开头的完整网址,您的浏览器会将其视为相对地址,并尝试从您的域请求它。)

因此,代码中此时friend.picture显然不是字符串值,而是对象。

(到目前为止,调试和发现错误部分。)

这源于关于用户/图片连接的October 3, 2012 Breaking change

  

/图片连接会在指定回调时返回字典

     

当访问对象的/ picture连接并指定回调属性时,我们将开始返回包含字段url,height,width和is_silhouette的字典。目前我们只是将图片网址作为字符串返回。

因此,您必须在代码中使用friend.picture.url来获取包含用户图片网址的实际字符串属性。