我是facebook PHP SDK的新手,我登录到facebook,但是当我运行example.php文件时,它总是显示我已退出。
当我尝试使用以下代码时:
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
有人可以帮助我吗?
答案 0 :(得分:0)
您必须检查userid是否为空并将其重定向到登录URL。
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可以是您的页面选项卡,画布应用程序或网站,具体取决于您希望用户在获得权限后登陆的位置。
$ permissions是一个具有所需权限的数组。如果您只想要基本权限,请删除. implode(',', $permissions)
。
答案 1 :(得分:0)
您可能缺少p3p标头,导致您的浏览器不接受您网站上的Facebook Cookie。有关详细信息,请参阅:http://www.hanselman.com/blog/TheImportanceOfP3PAndACompactPrivacyPolicy.aspx。