2011-05-05 183 views
5

我开发了一个应用程序,它要求来自用户的权限来访问他们的基本信息。一旦他们接受了请求权限对话框,它就会进入他们的Facebook设置以允许我的应用访问他们的基本信息。例如,第一次后,我的应用程序将不会显示请求权限对话框,因为它已保存在用户的Facebook设置中。每次请求facebook权限

是否有可能阻止这种情况发生并且每次都要求他们的许可,而不会将设置保存到Facebook的用户设置部分?

回答

2

我不认为这是可能的,

用户允许后你的应用程序,Facebook的把它添加到用户的应用程序。

然后它就在那里,用户不必再批准它,当你再次要求权限时,Facebook发现它已被批准并跳过权限对话框。再次查看此对话框的唯一方法是让用户在其设置中删除应用程序权限。所以下一次他将不得不再次接受它。

无论如何,你为什么要再次显示这个权限对话框,这是用户使用你的应用程序最大的障碍之一(用户不喜欢它,并且当他们看到这个对话框时会停止,并且永远不会回来)。其实它在Facebook的文档某处指出,更多的权限,你问,少的用户会接受并使用你的应用程序...

+0

我之所以想这样做的原因是为了给用户更安全的感觉,并给他们控制的感觉,也就是说,只有当他们检查我的应用程序中的选项时,应该每次都要求权限,如果复选框未被选中,它应该执行默认设置,即保存权限并且只询问一次。 – oshirowanen 2011-05-05 10:35:06

+0

@oshirowanen是的,我不认为这是可能的...再次显示权限对话框的唯一方法是更改​​你问的权限列表,甚至用它只显示你添加到列表中的任何Facebook这里的人知道一种方式? – dwarfy 2011-05-05 10:40:51

+0

您只需模拟对话框的权限,制作自己的图标和文字,或者只是将它们放在侧面,即可注意“我们正在重新访问您的数据”。无论如何,Facebook的隐私设置已经显示应用程序最后一次访问您的信息的时间。 – dragonjet 2011-05-05 12:21:25

2

您可以完全解除授权的应用程序,或者只是撤销代表 特定的权限通过发送一个HTTP DELETE到 PROFILE_ID /权限或PROFILE_ID /权限/ PERMISSION_NAME分别为 。此请求必须使用当前应用的值用户access_token 进行。

http://developers.facebook.com/docs/reference/api/user/

即撤销电子邮件的权限:帖子删除要https://graph.facebook.com/me/permissions/email

使用REST API(遗留),你可以做到这一点在前端:

FB.api({method:'auth.revokeExtendedPermission', perm:'user_photos'}); 

你可以再问问再次访问权限(FB.Login),它会提示他们获得权限。