0

如何使用考拉宝石从 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' for #”

4

2 回答 2

0

这行看起来像一个语法错误(分号):

    @response = @graph.get_object(id);

此外,该行有一个(大概)未定义的变量id。也许你复制/粘贴它?

您可能会传入@fb_uid,例如:

    @response = @graph.get_object(@fb_uid)
于 2013-05-29T20:44:21.140 回答
0

如果您只需要获取id已通过 facebook 验证的用户,只需请求:

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

这将获取获取指定 oauth 令牌的用户的配置文件信息。

但我想,你使用了错误的变量名,我想真实的 id 保存在uidAccount 记录的字段中。所以试试这个:

@profile = @graph.get_object @fb_uid.uid
render :json => { :tweetArray => @profile }
于 2013-11-21T08:29:06.100 回答