-1

我在尝试提取foursquare2 gem 响应的字段时遇到问题。这是我的代码:

   require 'foursquare2'

   client = Foursquare2::Client.new(:client_id => 'XYZ', :client_secret => 'XYZ')

   tips = client.venue_tips('4d169843b15cb1f7f4c4ae21')

然后我得到了结果:

#<Hashie::Mash count=8 items=[#<Hashie::Mash     canonicalUrl="https://foursquare.com/item/4f689747e4b04ab624cce6d3" createdAt=1332254535   done=#<Hashie::Mash count=1> id="4f689747e4b04ab624cce6d3" lang="pt" likes=#<Hashie::Mash count=2 groups=[#<Hashie::Mash count=2 items=[#<Hashie::Mash bio="" contact=#<Hashie::Mash> firstName="Pedro" gender="male" homeCity="Recife, Brasil" id="19761425" lastName="T." photo="https://is1.4sqi.net/userpix_thumbs/G5R14BT031K2B2AX.jpg" tips=#<Hashie::Mash count=25>>, #<Hashie::Mash bio="" contact=#<Hashie::Mash> firstName="Nat\u00E1lia" gender="female" homeCity="Recife, Brasil" id="12706383" lastName="S."
photo="https://is0.4sqi.net/userpix_thumbs/UF0Q0OZFWNQLXRFG.jpg" tips=#<Hashie::Mash count=1>>] type="others">] summary="2 likes"> text="Nova padaria com bons  produtos, destaque para as formadas de p\u00E3o \u00E0 tarde."

我想要一些作为tips.firstName的东西来获取这些值,但它不起作用。我应该更喜欢 REST API 吗?

提前谢谢你们,伙计们。

评论后编辑

我按照提供的建议所做的解决方案:

tips.groups[0].items.each{|i| puts i.firstName}

但它不起作用。我刚刚收到错误:data_scraping_fq.rb:16:in <main>': undefined method[]' for nil:NilClass (NoMethodError)

4

1 回答 1

1

tips.firstName当您使用场所/提示端点时将不起作用。使用 Foursquare API 浏览器时查看 JSON 响应,您会看到要获取提示提交者的名字,您需要查看 `tips.items

于 2013-08-30T13:59:04.837 回答