解析Garb的响应时遇到问题

时间:2013-02-15 18:17:06

标签: google-analytics ruby-on-rails-3.2 google-analytics-api garb-gem

我正在尝试在我的rails应用中使用Sija的Garb。但是在获取配置文件后我无法解析响应。以下是我为获取配置文件所做的工作的摘要:

Garb::Session.access_token = token
subs = Garb::Management::Profile.all
@subsInfo = []
subs.each do |sub|
  sub_info = {:sid => sub.id,
              :sname => sub.name, 
              :surl => sub.websiteUrl
             }
  @subsInfo << sub_info
end

问题在于,即使sub.id和sub.name有效,我也会得到一个“未定义的方法'websiteUrl'”消息。当我提出to_yaml时,这就是子响应的样子:

---
- !ruby/object:Garb::Management::Profile
  entry:
    id: '12345678'
    kind: analytics#profile
    selfLink: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-01234567-1/profiles/12345678
    accountId: '01234567'
    webPropertyId: UA-01234567-1
    internalWebPropertyId: '12345678'
    name: first property
    currency: USD
    timezone: America/New_York
    websiteUrl: http://www.firstproperty.com
    defaultPage: http://www.firstproperty.com/home.html
    type: WEB
    created: '2010-05-21T14:40:46.600Z'
    updated: '2011-02-02T16:51:12.910Z'
    eCommerceTracking: true
    parentLink:
      type: analytics#webproperty
      href: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-12345678-1
    childLink:
      type: analytics#goals
      href: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-01234567-1/profiles/12345678/goals
  session: &12345678901234 !ruby/class 'Garb::Session'
- !ruby/object:Garb::Management::Profile
  entry:
    id: '23456789'
    kind: analytics#profile
    selfLink: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-01234567-2/profiles/23456789
    accountId: '01234567'
    webPropertyId: UA-01234567-2
    internalWebPropertyId: '23456789'
    name: Second Property
    currency: USD
    timezone: America/Los_Angeles
    websiteUrl: http://www.secondproperty.com/
    defaultPage: http://www.secondproperty.com/index.html
    type: WEB
    created: '2010-07-05T19:58:33.611Z'
    updated: '2011-02-02T16:51:12.922Z'
    eCommerceTracking: true
    parentLink:
      type: analytics#webproperty
      href: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-01234567-2
    childLink:
      type: analytics#goals
      href: https://www.googleapis.com/analytics/v3/management/accounts/01234567/webproperties/UA-01234567-2/profiles/23456789/goals
  session: *012345678901234

我不能为我的生活弄清楚为什么websiteUrl告诉我它是未定义的。它不仅仅是那个属性,还有其他几个属性,但出于某种原因,id和name工作得很好。

1 个答案:

答案 0 :(得分:0)

找到答案here。该属性已从websiteUrl重命名为website_url。糟糕。