Facebook Graph API无法获取“已验证”的个人资料数据

时间:2011-08-24 23:20:59

标签: facebook facebook-graph-api facebook-php-sdk

在使用图形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从未拥有验证过的数据。有什么想法吗?

3 个答案:

答案 0 :(得分:2)

如果您使用的是PHP SDK,则无需传递访问令牌,因为它是为您传递的。此外,您不需要用户ID,只需使用/me

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

确保您已对自己的应用进行了身份验证 - 我不会在此处看到这种情况,但可能会发生在您未展示的其他地方。

答案 1 :(得分:2)

您不一定需要这样做:

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

但你可以这样做:

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

答案 2 :(得分: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;
  }
}