2011-01-29 9 views
0

私はFQLをどのような形式でも使い慣れていません。これは簡単な質問ですが残念ですが、回避することはできません。FQL Javascriptアクセストークン

私は友達のリストを取得しようとしています。このコードを持っている:

var query = FB.Data.query('SELECT '+response.id+', '+response.name+' FROM friendlist from user where uid=' + response.id); 

をしかし、私は戻ってきておく応答は、アクティブなアクセストークンはに関する情報を照会するために使用されなければならない」

です現在の使用者。"私は/私から戻って応答オブジェクトを引くと、クエリのコードは次のように起動し

私は、このような、場所、名前、仕事、と私のすべての情報を参照してくださいしかし、私はすべてのアクセストークンが表示されない

これは:

window.fbAsyncInit = function() { 
      FB.init({appId: '12...0', status: true, cookie: true, xfbml: true}); 

      /* All the events registered */ 
      FB.Event.subscribe('auth.login', function(response) { 
       // do something with response 
       login(); 
      }); 
      FB.Event.subscribe('auth.logout', function(response) { 
       // do something with response 
       logout(); 
      }); 

      FB.getLoginStatus(function(response) { 
       if (response.session) { 
        // logged in and connected user, someone you know 
        login(); 
       } 
      }); 

どのようにしてアクセストークンを取得し、FQLクエリを提供しますか?

事前に助言をいただきありがとうございます!

答えて

4

あなたは、ユーザーがsuccesfulyにログインした後にログインfacebookで与えられる(FQLクエリを含む)グラフAPIへのリクエストのすべての種類を行うために使用する必要がアクセストークン。

あなたは放火犯を使用している場合ユーザーがログインした後に受信したオブジェクトを表示した後にconsole.log(response)を実行します。 permssessionstatus

FB.Event.subscribe('auth.login', function(response) { 
    console.log(response); 
    // do something with response 
    login(); 
}); 

それは3つのプロパティが含まれている必要があります。 permsには、ユーザーが許可した権限のリストが含まれています。statusは、現在のユーザーのステータスです。あなたにとって重要なのは、sessionプロパティです。これはまた、APIのリクエストに使用できるaccess_tokenというプロパティ(文字列)を持つオブジェクトでもあります。

だから、あなたのクエリは次のようになります。

var query = FB.Data.query('SELECT '+response.id+', '+response.name+' FROM friendlist from user where uid=' + response.id + '&access_token='+response.session.access_token); 

をあなたは、より良い方法でセッションを取得、現在のセッションを返すFB.getSessionを、使用したい場合。詳細情報here

幸運を祈る!

+0

素晴らしい説明をいただきありがとうございます! –

+0

あなたは大歓迎です:) – misterjinx

関連する問題