0

我目前正在尝试获取通过 FQL 查询添加了相同应用程序的朋友列表。我实际上是在为一个学校项目做这个,显然,PHP 不支持要保存它的服务器。这就是我使用 JavaScript SDK 来编写代码的原因。

这实际上是我第一次在 Facebook 上做一个项目,一切对我来说都是非常新的,拥有 graph api 根本无法帮助我处理任何旧文档,因为很多东西已经改变并且文档非常稀缺>。 <.

目前,我在显示多个结果时遇到问题(我只能在对响应进行硬编码时才能这样做)

我尝试使用 for 循环来打印结果,但无济于事。

FB.api('/me', function(response) {
showLoader(false);
var query       =  FB.Data.query('SELECT uid, name, pic_square FROM user WHERE uid 
IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND is_app_user');

query.wait(function(rows) {



for(var i = 0; i< rows.length;i++)
{ 
document.getElementById('debug').innerHTML =              
''+ rows[i].name +"<br />" + "<img src=\""+ rows[i].pic_square +"\" /><br />";
}
  }); 

    });

我做错了吗?>.<. 任何帮助都会非常棒!!谢谢!

4

1 回答 1

0

也许是因为您正在跨过您在调试 div 中放置的内容。尝试

document.getElementById('debug').innerHTML +=

此外,您不必有 for 循环。你可以让 facebook 使用他们的 forEach 函数来为你做这件事。

要返回多个结果,我这样做:

var linkquery = FB.Data.query('select owner, owner_comment, url from link where owner={0}', response.id);
FB.Data.waitOn([linkquery], function() {
  FB.Array.forEach(linkquery.value, function(row) {
    document.getElementById('debug').innerHTML += 'FQL Information: '+  "<br />" + 
      'Your name: '      +  row.owner + "<br />" +
      'Your comment: '   +  row.owner_comment + "<br />" +
      'Your link: '      +  "<a href='" + row.url  + "'>" +  row.url  + "</a><br /><br />";
  });
});

FB.Array.forEach得到每个,row.owner它们被添加到调试 div -

document.getElementById('debug').innerHTML += 

与返回的每一行。

希望有帮助

于 2012-02-06T22:36:12.823 回答