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

时间:2013-11-15 13:20:55

标签: facebook facebook-graph-api gem koala

我有一个使用omniauth通过Facebook验证用户身份的应用程序。我得到了我需要的所有数据,包括访问令牌。我正在使用Koala gem与Facebooks图形API进行通信,该API工作正常。所以我有以下内容:

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

因此使用通常的考拉命令可以正常工作:

facebook.get_object("me") etc etc

我现在想用以下内容提取用户照片:

facebook.get_object("me/photos")

这只返回一个空数组。所以我调查了一下,发现我需要在Facebook开发者网站上设置权限/用户和权限。朋友权限。然而,当我跑步时,这似乎没有任何影响:

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

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

这是我认为导致这个问题的原因,但不确定为什么它没有通过。

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

1 个答案:

答案 0 :(得分:3)

当您从应用程序的facebook获取oauth令牌时,您应该请求适当的权限,例如,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
相关问题