获取FB user-id会返回不正确的值(“1”)

时间:2012-10-27 09:32:32

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

我有一个非常奇怪的问题: 有时(但不是每次!)当我尝试获取当前用户的Facebook ID时,我得到“1”; 例如:     $ config = array();

$config["appId"] = API_KEY;
$config["secret"] = SECRET;
$facebook=  new Facebook($config);
$user=$facbook->getUser();
echo $user['id'];//returns 1;   

显然 - 这不是真正的用户ID。 当我检查访问令牌是否仍然良好时 - 我发现它仍然有效。此外,即使我强制用户使用以下方式再次登录:

FB.login(function(response) {
    if (response.authResponse) {
        top.location.href="<?php echo HOME_URL;?>"
    }, {scope: 'publish_stream'});

仍然得到相同的结果。 知道可能是什么问题吗?

1 个答案:

答案 0 :(得分:0)

你只能从FB获得一个ID:

$user_id = $facbook->getUser();
echo $user_id;

您稍后需要查询API以获取用户个人资料(这就是您正在做的事情):

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

<强>参考: