强制已登录FB用户的新权限请求

时间:2011-10-21 10:53:28

标签: php facebook

我已将新的权限请求(publish_stream)添加到我们的facebook连接登录按钮。对于之前未经此许可授权我们的应用的现有用户,我遇到了问题。如果他们在到达我们的网站时从Facebook登出,一切正常,当他们点击“Facebook Connect”时,他们会获得弹出窗口,要求他们获得新的许可。

但是,如果他们在到达我们的网站时已经登录到Facebook,他们会自动登录并且不会被要求获得这个新的publish_stream权限。即使已经登录到facebook场景,我如何强制弹出窗口出现并请求他们获得此新权限?

由于

2 个答案:

答案 0 :(得分:2)

me/permissions调用图谱API并确保他们已订阅该权限。如果他们不是,那么将他们引导到登录弹出窗口,询问您需要的所有权限。

答案 1 :(得分:1)

很抱歉为已回答的问题添加了答案,但我想添加一些需要一段时间才能理解的信息。

基本上,您只需要让用户再次登录,系统会提示他们接受更新的权限(假设您已在应用程序设置中更新了这些权限)。

例如,当您获得登录URL:

$login_url = $facebook->getLoginUrl($params = array('scope' => "publish_stream,user_groups"));

您可以向范围添加权限。在我的应用程序中,我意识到我需要添加“user_groups”来获取组列表。因此,如果groups数组返回空(在查询api之后),那么我回应了这个:

echo "The current user appears to have no groups, if this is incorrec try to <a href=".$login_url.">login again</a>";

相关问题