Facebook图形API无法获取“已验证”的配置文件数据

问题描述:

我似乎无法获得使用图形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

获取骑$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

如果您使用的是PHP SDK,则无需在传递给您时传递访问令牌。此外,您不需要用户ID,你可以使用/me

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

确保您已经验证您的应用程序太 - 我看不出这里发生,尽管它可能在其他地方,你发生没有显示。的

你不一定需要做:

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

但是,您可以这样做:

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