0

次のコードは、友達のIDを教えてくれます。私がやろうとしているのは、友人の性別を取得することですが、成功していません。生成された ID を使用して別のループを実行できますが、それほど効率的ではありません。友達の名前と性別を与えるクエリはありますか。アプリのパーミッションは friends_about_me です。この許可は、友達の性別を取得するのに十分ですか?

    <?php
      $app_id = '******';
      $app_secret = '*****';
      $my_url = 'http://apps.facebook.com/****/';

      $code = $_REQUEST["code"];

     //auth user
     if(empty($code)) {
        $dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
        . $app_id . '&redirect_uri=' . urlencode($my_url) ;
        echo("<script>top.location.href='" . $dialog_url . "'</script>");
      }

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


    echo $fql_query_result;
4

1 に答える 1

0

ユーザーの友達の性別情報を取得するには、1 つの FQL クエリが必要です。

SELECT uid, name, sex FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

これは、 Facebook Developers FQL メイン ページのサンプルから改作されました。

すべてのユーザーの性別が公開されているわけではないことに注意してください。そのため、コードを記述する際にはこれを考慮する必要があります。

于 2012-07-14T03:00:19.477 に答える