facebook-> getUser()返回0

时间:2011-11-18 14:44:43

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

我认为这是因为用户必须授予我的facebook应用程序某种访问权限才能获得getUser?这是我的代码:

 <? require 'facebook.php'; ?>
 <?php

 $facebook = new Facebook(array(
 'appId' => '[//fb app id]',
 'secret' => '[//fb app secret]',
 'cookie' => true
 ));

 $uid = $facebook->getUser();
 echo $uid;

 ?>

所以我想我的问题是,如果没有提示用户授予我的应用程序权限,是否还有其他类型的唯一标识符,我可以从fb用户获取以防止他们向我的应用程序提交多个条目。我有用户的添加提交,但我只想允许每个用户提交1次。谢谢你的帮助!

1 个答案:

答案 0 :(得分:3)

要获取用户ID,用户必须授予权限

if($uid){
  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;
  }
}else{
    $loginUrl = $facebook->getLoginUrl();
    echo("<br>login url=".$loginUrl);
};

在用户授予权限后(请参阅loginUrl),您可以访问用户ID