2012-03-16 5 views
3

私は、FQL(Facebook Query Language)を使用して、自分のアプリをインストールした友人のリストを取得しようとしています。私のアプリを認証し、私のアプリのアクセストークンを取得した後、私は(私は実行するためにJavaとRestFBを使用しています注意してください)次のクエリを実行しています:アプリケーションアクセストークンを使用してFQLを使用して友達を取得する

https://api-read.facebook.com/method/fql.query?query=SELECT+uid+FROM+user+WHERE+uid+IN+%28SELECT+uid2+FROM+friend+WHERE+uid1%3D<userId>%29+AND+is_app_user%3D1&access_token=<appAccessToken>&format=json 

これはエラーを返します。同様に

..."error_code":102,"error_msg":"Requires user session" 

場合私はグラフAPI(以下のような)でFQLを使ってみると同じエラーが出ます。

https://graph.facebook.com/fql?q=SELECT+uid+FROM+user+WHERE+uid+IN+%28SELECT+uid2+FROM+friend+WHERE+uid1%3D<userId>%29+AND+is_app_user%3D1&access_token=<appAccessToken>&format=json 

私は期待通りにユーザーアクセストークンを使用してみました。私は公平なビットを検索し、この出くわしています Facebook 'Friends.getAppUsers' using Graph API

いくつかの素晴らしいアドバイスを持っており、次のクエリをしようとする私を導いた:

https://graph.facebook.com/<userId>/friends?fields=installed&access_token=<appAccessToken>&format=json 

そして、これはアプリのアクセストークンと友達のリストを返します。 。

私の質問につながります。 FQLでアプリアクセストークンを使用して友人のリストを取得できないのはなぜですか?しかし、グラフAPIを使用して友人を取得できますか?事前に

おかげで、

ベン

答えて

2

まず私はfql.queryは、RESTのAPIからのものであり、そのは廃止される予定というあなたの通知に持ち込むしたいと思います。

FB今後GRAPHのAPIを使用することを推奨しています。..

重要な注意:FQLは廃止される予定されていないだけのREST APIを使用してfql.query法は廃止される予定です。

FQLを引き続き使用して、GRAPH APIを使用してFQLを実行することができます。

続きを読むFB

//get user access_token 
    $token_url = 'https://graph.facebook.com/oauth/access_token?client_id=' 
    . $app_id . '&redirect_uri=' . urlencode($my_url) 
    . '&client_secret=' . $app_secret 
    . '&code=' . $code; 
    $access_token = file_get_contents($token_url); 

    // Run fql query 
    $fql_query_url = 'https://graph.facebook.com/' 
    . '/fql?q=SELECT+uid2+FROM+friend+WHERE+uid1=me()' 
    . '&' . $access_token; 
    $fql_query_result = file_get_contents($fql_query_url); 
    $fql_query_obj = json_decode($fql_query_result, true); 

    //display results of fql query 
    echo '<pre>'; 
    print_r("query results:"); 
    print_r($fql_query_obj); 
    echo '</pre>'; 

http://developers.facebook.com/docs/reference/fql/

例のコードで私は実際にあなたの質問に答えていないが、これは楽しみに行くのに使用できるかについての情報の単なる集合体であることを知っていますFBの変更とインラインになる。

+0

ヒントをお願いします。グラフAPIでFQLを使用するように質問を更新しました。まだ同じエラーが発生します:( –

0

私は私のFQLクエリとアプリケーショントークンを使用する場合、私は次の応答を得る:

"message": "A user access token is required to request this resource."

ユーザーのアクセストークンを使用しようとすべきであるように見えます。実際、私が自分のアプリケーショントークンからテストユーザーの認証トークンに切り替えると、それは機能します。 :/

関連する問題