Facebook PHP SDK显示未登录
问题描述:
我是新来的Facebook PHP SDK,我登录到Facebook,但是当我运行example.php文件时,它总是显示我已注销。Facebook PHP SDK显示未登录
当我尝试下面的代码:
require '../src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'XXXXX',//I am using my own APP ID and KEY
'secret' => 'XXXXX',
));
$user = $facebook->getUser();
echo var_dump($facebook);
这是给我下面的输出:
object(Facebook)[1]
protected 'appId' => string 'XXXXXX' (length=15)
protected 'appSecret' => string 'XXXXXXX' (length=32)
protected 'user' => int 0
protected 'signedRequest' => null
protected 'state' => string '151c32d04cd0175f24292bda479a2d45' (length=32)
protected 'accessToken' => string '253401284678598|80fa394218494b87c2f96640da5a32eb' (length=48)
protected 'fileUploadSupport' => boolean false
谁能帮我在这?
答
您必须检查用户标识是否为空,并将其重定向到登录网址。
if(!$user) {
$dialog_url= "https://www.facebook.com/dialog/oauth?"
. "client_id=" . FB_APP_ID
. "&redirect_uri=" . urlencode($redirect_url)
. "&scope=" . implode(',', $permissions);
exit("<script> top.location.href='" . $dialog_url ."'</script>");
}
FB_APP_ID是你的appid
$ REDIRECT_URL可以根据你的需要,你希望用户givving您权限后登陆你的页面标签,画布应用或网站。
$ permissions是一个具有所需权限的数组。如果您只需要基本权限,请删除. implode(',', $permissions)
。
答
您可能会缺少p3p标头,导致您的浏览器不接受来自您网站上的Facebook的cookie。请参阅:http://www.hanselman.com/blog/TheImportanceOfP3PAndACompactPrivacyPolicy.aspx了解更多信息。
但为什么表明我没有登录?为什么SDK没有参加我的会议? – Nick 2012-03-01 16:52:25