Я пытаюсь получить простой список только с именами друзей, которые сейчас онлайн, в javascript с помощью jsSDK facebook. Как было показано здесь, я использую 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
EDIT:
Хорошо, попробовал это сейчас, как парень предлагает:
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 и как эти запросы работают ... ничего не нашел в разделе для разработчиков ... ???
все еще не выполняет обратный вызов!