需要帮助显示来自FQL查询的多个响应is_app_user或类似的解决方案

时间:2011-09-10 07:10:19

标签: facebook-fql facebook-javascript-sdk multiple-results

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

这实际上是我第一次在Facebook上做一个项目,对我来说一切都是非常新的,并且由于许多事情已被更改且文档非常多,因此图形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 />";
}
  }); 

    });
我是不是以任何方式做错了? &GT;&LT ;.任何帮助都会非常棒!! 谢谢!

1 个答案:

答案 0 :(得分: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 += 

返回每一行。

希望有所帮助