2013-04-15 43 views
0

我成功地使用此代碼授權我的畫布應用程序,但我只能得到用戶id。我需要用戶名,年齡朋友列表也.Plz幫助我。如何在Facebook畫布應用程序授權期間獲取用戶名?

我用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? 

} 

回答

0

你需要做一個API請求或以獲取有關用戶的更多信息使用FQL。 http://developers.facebook.com/docs/reference/php/facebook-api/有示例說明如何使用API​​方法獲取用戶名。然後here是FriendsList的API文檔,而here是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 { 
     //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>"; 
     } 
+0

感謝取代

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

,你可以PLZ添加代碼在回答的形式。 – user1452376

+0

你需要什麼具體的代碼說明? (我想用的任何示例代碼都應該在第一個鏈接中) – asifrc

+0

我想回複用戶的電子郵件和朋友列表,我試着用上面的參考文獻來抓我的頭,但是沒有vail.i會對你有幫助爲答案。 – user1452376

相關問題