我有一个使用具有非常基本权限的 Facebook 登录的 Rails 应用程序:email,user_photos,user_birthday
. 似乎要求用户提供扩展权限publish_stream
真的会降低我的应用程序的注册率(这是有道理的——我不会相信任何有权在不了解该服务的情况下发布到我的 FB 提要的人)。
该应用程序允许用户在他们的墙上分享内容,但首先我需要将publish_stream
权限添加给积极寻找它的用户。
解决这个问题的好方法是什么?有可能做到这一点吗?谢谢。
我有一个使用具有非常基本权限的 Facebook 登录的 Rails 应用程序:email,user_photos,user_birthday
. 似乎要求用户提供扩展权限publish_stream
真的会降低我的应用程序的注册率(这是有道理的——我不会相信任何有权在不了解该服务的情况下发布到我的 FB 提要的人)。
该应用程序允许用户在他们的墙上分享内容,但首先我需要将publish_stream
权限添加给积极寻找它的用户。
解决这个问题的好方法是什么?有可能做到这一点吗?谢谢。
您可以将权限附加到 url,并将该 url 提供给那些积极寻求在您的应用上共享能力的人:
www.blah.com/users/auth/facebook?scope=publish_actions,email
如果您将 Devise 与 Omniauth 一起使用,只需scope
在路径助手中添加一个:
user_omniauth_authorize_path(:facebook, scope: 'email,publish_actions')
这基本上是另一个答案,但以更 Railsy 的方式表达。