如何在使用devise和omniauth-facebook时指定facebook图形API版本

MKh*_*nal 7 facebook ruby-on-rails devise facebook-graph-api omniauth-facebook

我在rails 4应用程序中使用了devise和omniauth-facebook身份验证.

Facebook已经转向v2.x图形API.(api迁移的截止日期是2015年4月30日).

在身份验证期间,Facebook的登录对话框显示以下消息

"You must upgrade this app to Graph API v2.x
v1.0 will be deprecated on April 30, 2015
Learn how to upgrade"
Run Code Online (Sandbox Code Playgroud)

我想这是因为omniauth-facebook/devise现在使用facebook图api v1.x.

如何将其配置为指向v2.x?

MKh*_*nal 12

找到解决方案,希望它也可以帮到某人

链接是https://github.com/mkdynamic/omniauth-facebook/issues/152

解决方案是在初始化程序文件中为omniauth-facebook配置提供程序,如下所示:

 provider :facebook, ENV['APP_ID'], ENV['APP_SECRET'],
    :scope => 'email,read_stream',
    :client_options => {
      :site => 'https://graph.facebook.com/v2.0',
      :authorize_url => "https://www.facebook.com/v2.0/dialog/oauth"
    }
Run Code Online (Sandbox Code Playgroud)