0

このコードを使用してキャンバス アプリを正常に承認できましたが、ユーザー ID しか取得できません。ユーザー名と年齢のフレンドリストも必要です。助けてください。

私はPrint_rを使ってこれを手に入れました

Array ( [algorithm] => HMAC-SHA256 [expires] => 1366020000 [issued_at] => 1366012878 [oauth_token] => BAAFaFlrFWXYBADDEIui8rTtcEWldiZAGlHZB1mGSZoQ6E9fU9vkweYnx2jvj4SSDNRUd465YcAiz4hI3jlQlXLBmB0jVXZBeoAiSyO5P2TQoIQVt9SQRWVJEuTGtcyQzazZCi20MWhDqBsa1qgYWKloSRWOkKBdPDBZCI0exZA13Jygh73hsr9ldVvFy8ClgEb8jIZBblCArGT3lb7g [user] => Array ( [country] => pk [locale] => en_US [age] => Array ( [min] => 21 ) ) [user_id] => 100000 

PHPコード

 $app_id = "    xxxxxxxxx";

$canvas_page = "xxxxxxxx";

$auth_url = "http://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page);

$signed_request = $_REQUEST["signed_request"];

list($encoded_sig, $payload) = explode('.', $signed_request, 2);

$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), TRUE);

if(empty($data["user_id"])) {



    echo("<script> top.location.href='" . $auth_url . "'</script>");

} else {

    print_r($data) ;
    echo ("Welcome User: " . $data["user_id"]);
    echo ("Welcome User: " . $data["age"]); //i tried this,but got undefined message?

}
4

2 に答える 2

0

Graph API のユーザー エンドポイントにアクセスして、署名付きリクエストを送信できます。たとえば、https: //graph.facebook.com/me?fields=id,name をクエリ すると、認証されたユーザーのユーザー名が得られます。参照については 、 http://developers.facebook.com/docs/reference/api/user/ を参照してください。

Facebook PHP SDK を使用することをお勧めします

github から入手でき、作業が簡単になります。私はそれがあなたが望むことをする基本的な例を持っていると信じています。

HTH

于 2013-04-15T08:34:27.287 に答える
0

ユーザーに関する詳細情報を取得するには、API リクエストを実行するか、FQL を使用する必要があります。http://developers.facebook.com/docs/reference/php/facebook-api/には、API メソッドを使用してユーザーの名前を取得する方法を示す例があります。そして、ここに FriendsList の API ドキュメントがあり、ここに FQL ドキュメントがあります。read_friendlists 権限があることを確認してください。ご不明な点がございましたら、お気軽にお問い合わせください:)

コードの例: http://developers.facebook.com/docs/reference/php/
の指示に従って、https://github.com/facebook/facebook-php-sdk/から PHP SDK をインストールします。

次にhttp://developers.facebook.com/docs/reference/php/facebook-api/にアクセスし、最初の例をファイルにコピーします。アプリ ID、アプリ シークレットを更新し、require_once が正しい場所に設定されていることを確認してください。

次に交換

  try {

    $user_profile = $facebook->api('/me','GET');
    echo "Name: " . $user_profile['name'];

try {
        //Get User Name
        $user_profile = $facebook->api('/me','GET');
        //Get User's Friends
        $friends_list = $facebook->api('/me/friends', 'GET');
        echo "<h1>Name: " . $user_profile['name']."</h1>";
        echo "<h2>Friends:</h2>"; 
        foreach ($friends_list['data'] as $friend)
        {
            echo $friend['name']."<br>";
        }
于 2013-04-15T08:35:04.013 に答える