0

有谁知道user_likes 存储在Auth Hash中的什么位置?

我尝试了不同的组合:

auth.extra.raw_info.user_likes
auth.extra.raw_info.likes

我得到了许可,我只是不知道如何访问 user_likes 数组。

Omniauth-Facebook 宝石

一段时间后(编辑)

或者,我可以使用 HTTParty gem 做这样的事情:

  url = "https://graph.facebook.com/#{auth.uid}/likes&access_token=#{auth.credentials.token}"
  @likes = HTTParty.get(url)

但我真的很想知道它是否可以通过omniauth身份验证过程......

4

2 回答 2

1

omn​​iauth-facebook gem 使用 /me 调用来填充 raw_info 哈希。根据 facebook 文档http://developers.facebook.com/docs/reference/api/user/,喜欢不包含在用户对象中,而是可以通过调用https://graph.facebook.com访问的连接/我/喜欢

于 2012-11-28T21:17:41.490 回答
1

希望这个回复虽然迟了,但可以帮助那些试图弄清楚身份验证哈希对象的不同哈希部分内部的人(架构参考:https ://github.com/intridea/omniauth/wiki/Auth-Hash-Schema )

与其尝试不同的组合(如问题中所述),不如简单地将对象作为 yaml 呈现给浏览器。现在,浏览器输出的页面源将清楚地显示身份验证对象返回的部分内容。其他选项是在回调控制器中放置调试中断并检查 auth 对象(在这种情况下,ide 将非常有用)。

路线.rb

 ...
 match '/auth/facebook/callback' => 'authentications#create'
 ...

authentications_controller.rb (或您接收回调的控制器)

class AuthenticationsController < ApplicationController
    ...


    def create
        # a simple code to understand the content of the auth object
        render :text => request.env["omniauth.auth"].to_yaml
    end
 end
于 2013-03-06T04:39:45.040 回答