facebook - Koala - 使用 Facebook 进行身份验证时未请求 user_photos 权限

标签 facebook facebook-graph-api rubygems koala

我有一个应用程序,可以使用omniauth 对 Facebook 的用户进行身份验证。我正在获取为此所需的所有数据,包括访问 token 。我正在使用 Koala gem 与 Facebook 的图形 API 进行通信,该 API 工作正常。所以我有以下内容:

models/authentication.rb
def facebook
 @facebook ||= Koala::Facebook::API.new(oauth_token)
end

因此,使用常用的 koala 命令就可以正常工作:

facebook.get_object("me") etc etc

我现在想使用以下方法提取用户照片:

facebook.get_object("me/photos")

这仅返回一个空数组。所以我研究了一下并意识到我需要在 Facebook 开发者网站上的权限/用户和 friend 权限下设置权限。然而,当我运行时,这似乎没有任何影响:

facebook.get_connections("me", "permissions")

我在返回的数组中没有看到 user_photos 权限。

我认为这就是导致问题的原因,但不确定为什么它没有解决。

如果我可以提供任何其他信息,请告诉我。 任何帮助都感激不尽。非常感谢

最佳答案

当您从 facebook 获取应用程序的 oauth token 时,您应该请求适当的权限,例如,OmniAuth 使用的代码设置 read_streamuser_photos 权限对用户的请求。该文件是 config/initializers/omniauth.rb:

Rails.application.config.middleware.use OmniAuth::Builder do
   provider :facebook, :setup => true, :scope => 'read_stream, user_photos'
end

关于facebook - Koala - 使用 Facebook 进行身份验证时未请求 user_photos 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20002072/

相关文章:

php - 使用全局 ID 在 graph api v2 中获取应用程序用户数据

没有sdk的facebook登录

ios - Facebook ID 或 Cognito ID 或我的 iPhone 应用程序的替代方案

iphone - facebook 对话框 api 不工作

ruby-on-rails - 处理默认 GEM_PATH 的建议

facebook - FB.init(...) 错误 : "Given URL is not allowed by the Application configuration."

Gatsby js/React js 中的 Facebook 像素

facebook - 如何通过 Facebook Graph API 从带有附件的页面发送直接消息?

ruby - 'gems' 配置选项已重命名为 'plugins' .?

ruby - 如何共享需要 gem 的 ruby 脚本