使用fb_graph gem
从Facebook用户那里获取基本信息:
fb_user = FbGraph::User.new(FB_USER_ID)
fb_user = fb_user.fetch
这很好用。
现在我还需要访问传记和位置
fb_user.bio
fb_user.location.name
位置为零,所以我收到错误,生物是空白的。
在Facebook API文档http://developers.facebook.com/docs/reference/api/user/
中看起来生物需要user_about_me或friends_about_me权限。
所以我认为这应该意味着我需要为我的应用生成一个访问令牌,我做了:
app = FbGraph::Application.new(FB_APP_ID, :secret => FB_APP_SECRET)
access_token = app.get_access_token()
fb_user = FbGraph::User.new(authentication.uid, access_token)
但后来我得到了:
undefined method `[]' for GENERATED_TOKEN:Rack::OAuth2::AccessToken::Legacy
我不太确定如何解决这个问题。这是我使用Facebook API的第一天
问题:如何获得我的应用程序的扩展权限以获取生物和用户位置?
答案 0 :(得分:0)
为了扩展权限,您必须在OmniAuth提供程序配置中添加它们
provider :facebook, APP_ID, APP_SECRET, {:scope => 'publish_stream,offline_access,email'}
然后您将有权在用户时间轴等中发帖。
你也可以按照这个有点旧的教程,但你可以使用概念
Facebook Integration With Omniauth and Devise on Rails 3
<强>权限强>
Facebook提供的权限可在Facebook网站上找到。
检入此链接Facebook Permissions