【问题标题】:Request facebook permissions each and every time每次都请求 facebook 权限
【发布时间】:2011-05-05 09:37:25
【问题描述】:

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

是否可以阻止这种情况的发生并每次都征求他们的许可,而无需将设置保存到 facebook 的用户设置部分?

【问题讨论】:

    标签: php facebook facebook-graph-api facebook-php-sdk


    【解决方案1】:

    我认为不可能,

    在用户允许你的应用程序后,Facebook 将其添加到用户的应用程序中。

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

    无论如何你为什么要再次显示这个权限对话框,这是用户使用你的应用程序的最大障碍之一(用户不喜欢它,很多人看到这个对话框就停下来再也没有回来) .实际上它在某处的 facebook 文档中声明,您要求的权限越多,接受和使用您的应用程序的用户就越少......

    【讨论】:

    • 我想这样做的原因是为了给用户更安全的感觉,也给他们控制的感觉,即只有当他们检查我的应用程序中的一个选项时,才应该询问权限对于每次,如果未选中该复选框,则应执行默认设置,即保存权限并且只询问一次。
    • @oshirowanen 是的,我认为这是不可能的......再次显示权限对话框的唯一方法是更改​​您要求的权限列表,即使这样它也只显示一个您将这里的任何 Facebook 人都添加到列表中?
    • 您可以只模拟对话框权限,制作您自己的图标和文本,或者只是将它们放在一边以说明“我们正在再次访问您的数据”。无论如何,Facebook 隐私设置已经显示了应用程序最后一次访问您的信息的时间。
    • 如果他们选中了复选框,在某个时候调用 revokeExtendedPermission。见:developers.facebook.com/docs/reference/rest/…
    • 我想这应该可以解决问题,因为这个 api 正在被弃用:我们正在弃用 REST API。如果您正在构建新的 Facebook 应用程序,请使用 Graph API。虽然我们还没有移植一些功能,但 Graph API 是 Facebook 平台向前发展的中心,所有新功能都将在这里找到。
    【解决方案2】:

    您可以完全取消对应用程序的授权,或者只是撤销 通过发出 HTTP DELETE 代表用户的特定权限 PROFILE_ID/permissions 或 PROFILE_ID/permissions/PERMISSION_NAME 分别。此请求必须使用值 user access_token 对于当前应用。

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

    即撤销电子邮件权限:将 DELETE 发布到 https://graph.facebook.com/me/permissions/email

    使用 REST API(旧版)您可以在前端进行:

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

    然后您可以再次请求权限(FB.Login),它会提示他们提供权限。

    【讨论】:

      猜你喜欢
      • 2014-05-10
      • 1970-01-01
      • 2015-08-23
      • 1970-01-01
      • 1970-01-01
      • 2012-12-27
      • 2013-02-23
      • 2012-08-07
      相关资源
      最近更新 更多