получить просто список с друзьями, которые онлайн - FACEBOOK jsSDK - PullRequest
2 голосов
/ 11 августа 2011

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

все еще не выполняет обратный вызов!

...