Получить список всех друзей на Facebook, используя JS SDK и FQL - PullRequest
1 голос
/ 11 августа 2011

Я пытаюсь получить список всех друзей текущего пользователя, используя мое приложение Facebook:
Вот мой код для вашей справки:

    var meID = <?php echo $data['user_id']; ?>;
    var queryOnFriends = "SELECT uid, name, online_presence, status FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = " + meID + ")";
    var queryOnFriends1 = "SELECT uid, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=" + meID + ")";
    var queryOnFriends2 = "SELECT uid2 FROM friend WHERE uid1 = me()";
    var queryUserName = "SELECT name, uid FROM user WHERE uid={0}";
    var query = FB.Data.query(queryOnFriends2, meID);
    query.wait(function(rows){
        alert("in callback");
        document.getElementById('display').innerHTML =
        'Your name is ' + rows[0].name;
    });

Ссылаясь на мою попытку использования var queryUserName, работает нормально, но все остальные не сработали, даже простые queryOnFriends2 из примеров FQL.
Приложение запрашивает разрешения правильно (read_friendlists, user_online_presence, friends_online_presence), и FB JS SDK, кажется, хорошо инициализируется, так как запрос собственного имени пользователя (queryUserName) работает, однако даже не выполняет функцию обратного вызова в случаях сбоя!

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 11 августа 2011

Разница между queryUserName и другими вашими запросами заключается в том, что queryUserName содержит параметр, {0}.

. Другие ваши запросы вместо этого используют me(), поэтому им не требуетсяпараметр данных для передачи.

Вам необходимо изменить эту строку:

var query = FB.Data.query(queryOnFriends2, meID);

на эту:

var query = FB.Data.query(queryOnFriends2);
0 голосов
/ 11 августа 2011

ОК, я получил его сейчас ... я использовал php для авторизации своего приложения ... но не проходил аутентификацию! При использовании только jsSDK facebook и инициализации, а затем getStatus все это происходит автоматически!

Тогда запросы работали!

...