2013-05-07 61 views
2

请原谅我的初学者状态:)我一直在寻找图形浏览器/ Facebook Javascript SDK入门,并获得了基本知识和运行。Facebook:如何访问响应中包含的数据?

如果我对我的理解是正确的,那么这段代码应该向图表发出一个请求...在图形浏览器中相当于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]); 
        } 
       }); 

我不知道为什么,这是行不通的。我哪里错了?

+0

它应该返回一个普通的JSON字符串......你是否试图在控制台中输入'response.id'也许? – Lix 2013-05-07 21:09:16

回答

2

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

me/friends/id的链接返回一个空的数据集。然而,me/friends的链接返回的东西更像你所期望的:https://developers.facebook.com/tools/explorer?method=GET&path=me%2Ffriends

+0

啊哈!干杯。我点击了旁边的东西(朋友,然后id),它运行良好,但正如你所说,它似乎并不是在控制台中输入。 – Eilidh 2013-05-07 21:25:31

+1

你会注意到,当你点击侧面的东西时,它会在GET提交字段中自动填充。例如,friends - > id给你'[userid]?fields = friends.fields(id)' – 2013-05-07 21:30:56

+0

那么我如何访问数据呢? 我试图访问它通过'FB.api( '/我/朋友',功能(响应){ \t \t \t \t \t变种朋友=新的Array(); \t \t \t \t \t为(I = 0; i Eilidh 2013-05-07 21:31:09