如何从Facebook获取当前用户ID?

时间:2013-01-17 10:45:31

标签: ruby-on-rails-3.2 koala

如何使用考拉宝石从Facebook获取当前用户ID?

 def UserDetailsfb

    @user_id = current_user.id.to_s
        utility = Utility.new
        par = Hash.new
        utility.request = par
        @fb_uid = Account.find_by_id(6)
        @fb_code = @fb_uid.auth_token    
        @fbuid = @fb_uid.uid       
        @graph = Koala::Facebook::GraphAPI.new(@fb_code)
        @graph = Koala::Facebook::API.new(@fb_code)      
        tweet_array = []
        @response = @graph.get_object(id);
        render :json => { :tweetArray => @response }     
  end

我需要获取当前用户ID。为#“

显示错误”未定义的局部变量或方法`id'

2 个答案:

答案 0 :(得分:0)

在此行上看​​起来像语法错误(分号):

    @response = @graph.get_object(id);

此外,该行具有(可能)未定义的变量id。也许你复制/粘贴它?

你可能会传递@fb_uid,例如:

    @response = @graph.get_object(@fb_uid)

答案 1 :(得分:0)

如果您只需要获得已通过Facebook验证的用户的id,请执行以下操作:

@profile = @graph.get_object 'me'
render :json => { :tweetArray => @profile }

这将获取获取指定oauth令牌的用户的个人资料信息。

但是我想,你使用了错误的变量名,我想真正的id是保留在帐户记录的字段uid中。所以试试吧:

@profile = @graph.get_object @fb_uid.uid
render :json => { :tweetArray => @profile }