在我的页面上,用户可以上传图片并将它们发布到他们的 Facebook 墙上——但通常他们应该只有在登录到他们的 Facebook 帐户后才能在他们的墙上发帖。我用这段代码检查用户状态:
// check if user is connected to facebook
$facebook = new Facebook(array(
'appId' => Yii::app()->params['fbAppId'],
'secret' => Yii::app()->params['fbSecret'],
));
$user = $facebook->getUser();
if ($user = $facebook->getUser())
{
try
{
$user_profile = $facebook->api('/me');
echo "you are logged in";
}
catch (FacebookApiException $e)
{
$user = NULL;
echo "you are logged out";
}
}
(甚至建议检查用户是否不仅有会话而且有有效的 fb 登录的代码也会返回 true,尽管我不再在 Fb 登录。)
现在,如果我通过 Facebook Connect 登录到我自己的页面,然后从 FB 注销 - 我仍然在我自己的网页上登录。暂时没关系。但不应该工作的是这段代码:
$facebook->api('/me/feed', 'POST', $attachment);
这意味着网站会将用户上传的图片直接发布到用户的提要中。尽管用户已从 facebook 注销,但这似乎可行...
顺便说一句,我不要求离线许可。
最好的祝愿,塞巴斯蒂安