我试图获得一个简单的列表,其中只包含现在使用facebook jsSDK在javascript中在线的朋友的名字。通过这里的尝试,我正在使用FQL来查询它们......如果有更好的解决方案,请告诉我。
应用正确地要求权限,jsSDK正确初始化,我甚至可以设法查询当前用户名,如下所示:
var query = FB.Data.query('select name, uid from user where uid={0}', <?php echo $data['user_id']; ?>);
query.wait(function(rows) {
document.getElementById('display').innerHTML =
'Your name is ' + rows[0].name;
});
但是,如果我使用这里推荐的查询,它甚至不执行回调函数:
var query = FB.Data.query('SELECT name,uid FROM user WHERE online_presence IN ("active", "idle")',<?php echo $data['user_id']; ?>);
query.wait(function(rows){
document.getElementById('display').innerHTML =
'Name of fist online friend ' + rows[0].name;
});
跳转到query.wait方法后,它什么也没做......甚至没有执行回调函数......
如果有人熟悉这个,也许你有一个提示给我!
Thx haemse
编辑:
好的,现在尝试了,就像这家伙建议的那样:
var queryOnFriends = "SELECT uid, name, online_presence, status FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = '" + <?php echo $data['user_id']; ?> + "')";
var queryUserName = "select name, uid from user where uid={0}";
var query = FB.Data.query(queryOnFriends, <?php echo $data['user_id']; ?>);
query.wait(function(rows) {
document.getElementById('display').innerHTML =
'Your name is ' + rows[0].name;
});
还是一样的...... 我在哪里可以看到这个来自facebook的“表格”如何以及这些查询是如何工作的......在开发者部分没有找到任何内容...... ???
仍未执行回调!