Gab*_*ant 3 ruby facebook ruby-on-rails facebook-graph-api
我正在尝试使用FB Open Graph让我的应用更新用户的属性.我安装了Koala并使用facebook-omniauth进行身份验证.我只想查询我的数据库,寻找与他的fb id匹配的用户,如果该用户不存在,那么我想用来自facebook API的数据更新用户模型的属性.另外我使用mongoid反对我的数据库的活动记录.
在我的用户模型中,我有这种方法.
def facebook @facebook || =考拉:: Facebook :: API.new(oauth_token)结束
在我的控制器中,我在我的一个方法中有这些代码行.
@user = User.where(facebook_uid:params [:auth_id])
if @user.empty?
User.create(
first_name: User.facebook.get_object("name"),
last_name: User.facebook.get_object("email"),
facebook_uid: params[:auth_id],
facebook_oauth_token: params[:auth_token])
else
User.update_attributes(
facebook_oauth_token: params[:auth_token]
end
Run Code Online (Sandbox Code Playgroud)
当我在我的控制台中玩游戏时,User.facebook.get_object("email")不会返回用户的电子邮件.有人知道怎么做吗?
谢谢!
这应该工作:
graph = Koala::Facebook::API.new(oauth_access_token)
profile = graph.get_object('me', fields:'email')
Run Code Online (Sandbox Code Playgroud)
现在profile['email']将为您提供用户的电子邮件.
| 归档时间: |
|
| 查看次数: |
3648 次 |
| 最近记录: |