-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 に答える