我认为这是因为用户必须授予我的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次。谢谢你的帮助!
答案 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