Facebook:如何访问响应中包含的数据?

时间:2013-05-07 21:05:25

标签: facebook facebook-graph-api facebook-javascript-sdk

请原谅我的初学者状态:)我一直在寻找图表资源管理器/ Facebook Javascript SDK入门,并开始运行基础知识。

如果我的理解是正确的,那么此代码应该向图表发出请求...相当于图表资源管理器中的friends > id。首先,这是正确的吗?

FB.api('/me/friends/id', function(response) {
     // Store response or do something else 
});

其次,我不知道如何访问这些数据......我试图寻找有关响应对象的文档,但没有找到任何内容。如果我的第一个假设是正确的,那么返回的数据应该是......

{
  "id": "123456", 
  "friends": {
    "data": [
      {
        "id": "123456"
      }, 
      {
        "id": "123456"
      }, 
      {
        "id": "123456"
      }, 
      {
        "id": "123456"
      }
   ] 
 }

因此,我希望能够通过response.id等访问此数据 - 这会返回undefined

我错过了什么?

感谢。

编辑。

例如:

在示例调用中,

    function testAPI() {
        console.log('Welcome!  Fetching your information.... '); 
        FB.api('/me', function(response) {
            console.log('Good to see you, ' + response.name + '.');
        });
    }  

这是正常的,控制台记录'很高兴看到你ShimmerGeek'。

如何以同样的方式检索朋友ID?

编辑2:

FB.api('/me/friends', function(response) {
                    var friend = new Array(); 
                    for(i = 0; i < response.friends.data.length; i++) {
                        friend[i] = response.friends.data[i].id; 
                        alert(friend[i]); 
                    }
                });

我不确定为什么这不起作用。我哪里错了?

1 个答案:

答案 0 :(得分:2)

查看https://developers.facebook.com/tools/explorer上的Facebook Developer Graph API工具。

me/friends/id的链接返回空数据集。但是,me/friends的链接会返回更像您期望的内容:https://developers.facebook.com/tools/explorer?method=GET&path=me%2Ffriends