3

Я играю с помощью JS SDK и FQL от Facebook, пытаясь получить результаты для некоторых запросов, первые два запроса, которые я пытаюсь (fql) работают отлично, вторая половина не работает.Facebook JS SDK FB.Data.Query & query.wait методы не возвращают результаты для некоторых запросов 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 (строк); call in .wait() никогда не происходит. Консоль пустая.

ответ

1

Привет вы должны написать некоторые, как это:

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); 

       }); 


      }); 
+0

Я написал этот вопрос давно, но вы могли бы хотеть, чтобы убедиться, что вы не используете FB.Data.query и query.wait - те, устарели и скоро будут удалены. –

+0

@CaseyFlynn, что я могу использовать вместо этого? –