Facebook JS SDK Методы FB.Data.Query & query.wait не возвращают результаты для некоторых запросов FQL - PullRequest
3 голосов
/ 17 декабря 2011

Я играю с Facebook JS SDK и FQL, пытаюсь получить результаты для некоторых запросов, первые два запроса (fql) работают отлично, вторая половина не работает.

Если я вызываю FB.getAccessToken () и извлекаю токен доступа моего текущего сеанса, то использую этот токен доступа для проверки связи с конечной точкой FQL:

https://api.facebook.com/method/fql.query?query=SELECT+name,+is_app_user+FROM+user+WHERE+uid+IN+(SELECT+uid2+FROM+friend+WHERE+uid1+=+ 504405294)&access_token=#############&format=json

Кто-нибудь знает, почему он не работает при использовании FB JS SDK?

    //  var fql = 'SELECT pic_square, uid FROM user WHERE uid = 504405294 OR uid = 100002624783324 OR uid = 1634269784 OR uid = 100002917463525';
        var fql = 'SELECT name, pic_square, sex FROM user WHERE uid = 100002624783324';
    //  var fql = 'SELECT name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())'; //ORDER BY is_app_user DESC LIMIT 0, 1000';
    //  var fql = 'SELECT uid2 FROM friend WHERE uid1 = 504405294';

        console.log(fql);

        var query = FB.Data.query(fql);
        query.wait(function(rows){
            console.log(rows);

        });

Редактировать

Чтобы быть немного более понятным, console.log (rows); вызов в .wait () никогда не происходит. Консоль пуста.

1 Ответ

1 голос
/ 23 октября 2012

Здравствуйте, вы должны написать примерно так:

FB.api('/me', function(user) {   

      this.query =  FB.Data.query("SELECT name, pic_square, sex FROM user WHERE uid =me()", user.id);

                this.query.wait(function(rows) {

                   console.log(rows); 

                 });


            });
...