我正试图在我的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'"消息。当我提升到_yaml:时,subs的响应就是这样的
---
- !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
我一辈子都不明白为什么网站URL告诉我它是未定义的。这也不仅仅是那个属性,还有其他几个属性,但出于某种原因,id和name可以正常工作。
在这里找到了答案。属性已从websiteUrl重命名为website_url。哇。