実施済み内容
ぐるなびAPIサイトにて、アカウントは発行済
https://api.gnavi.co.jp/RestSearchAPI/v3/?keyid=自分のアクセスキー&freeword=ラーメン
をアドレスバーに打込むことでJSON形式で情報が取得できる。
ここまではわかったのですが、自分のサイトに表示する方法がわかりません。
sample.rb
1require 'net/http' 2require 'uri' 3require 'json' 4require 'logger' 5 6logger = Logger.new('./webapi.log') 7 8params = URI.encode_www_form({keyid:'アクセスキー',id:'fbg4201'}) 9 10uri = URI.parse("https://api.gnavi.co.jp/RestSearchAPI/v3/?#{params}") 11 12begin 13 response = Net::HTTP.start(uri.host, uri.port) do |http| 14 http.open_timeout = 5 15 http.read_timeout = 10 16 http.get(uri.request_uri) 17 18 end 19 case response 20 when Net::HTTPSuccess 21 p JSON.parse(response.body) 22 when Net::HTTPRedirection 23 logger.warn("Redirection: code=#{response.code} message=#{response.message}") 24 else 25 logger.error("HTTP ERROR: code=#{response.code} message=#{response.message}") 26 end 27rescue IOError => e 28 logger.error(e.message) 29rescue TimeoutError => e 30 logger.error(e.message) 31rescue JSON::ParserError => e 32 logger.error(e.message) 33rescue => e 34 logger.error(e.message) 35end
その他判明していること
webapi.logには
E, [2019-05-28T12:35:43.335133 #3690] ERROR -- : end of file reached
という記載がなされています。
別のサイトで
http://zipcloud.ibsnet.co.jp/api/search
こちらを利用し、params部分を
params = URI.encode_www_form(zipcode:6512227)
と入力し実行した際は、情報が取得できたので、ぐるなびの形に合うように情報を変更するだけかと思ったのですが、何かが足りないのでしょうか。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/31 01:45