2011-08-24 53 views
0

我似乎無法獲得使用圖形API驗證的密鑰/值對,我知道驗證需要訪問令牌,我的代碼如下。Facebook圖形API無法獲取「已驗證」的配置文件數據

$facebook = new Facebook(array(
     'appId' => '1234', 
     'secret' => '567', 
    )); 

// Get User ID 
$user = $facebook->getUser(); 
$token = $facebook->getAccessToken(); 

if ($user) { 
try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api("/$user/?access_token=$token"); 

} catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
} 
} 

$ user_profile從來沒有驗證過的數據在裏面。有任何想法嗎?

+0

用PHP sdk你不需要傳遞'access_token'手動 – zerkms

回答

1

獲取騎$token = $facebook->getAccessToken();

變化:

if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 
+0

是的,這是我最初的方式,它似乎與我的正常的Facebook帳戶,但當我用一個不同的帳戶驗證它驗證完全不顯示。但它聽起來像這是正確的代碼。它可能是測試帳戶的問題。 – Brian

2

如果您使用的是PHP SDK,則無需在傳遞給您時傳遞訪問令牌。此外,您不需要用戶ID,你可以使用/me

$user_profile = $facebook->api("/me"); 

確保您已經驗證您的應用程序太 - 我看不出這裏發生,儘管它可能在其他地方,你發生沒有顯示。的

2

你不一定需要做:

$user_profile = $facebook->api("/$user/?access_token=$token"); 

但是,您可以這樣做:

$user_profile = $facebook->api("/me"); 
相關問題