###前提・実現したいこと
Rubyで、ニコニコ動画のAPIを叩きたいです。
今回は、クライアントから簡単な検索結果をもらい、それを標準出力(puts)したいです。
自分が書いたコードですと、レスポンスが400と共に以下のJSONを返します。
公式サイトを見ても400の仕様で考えても、私のせいでサーバ側がURIを理解できていないのだと思います。
ですが、下記に載せた、エンコーディングを最小限に抑えたURIでも400がかえってくるので、これ以上は知識がないから修正できないのだと判断しました。
ブラウザですとニコニコ動画へのログイン状態の有無、ブラウザの種類、GETに埋め込みたいクエリを問わず成功します。
###発生している問題・エラーメッセージ
{"meta":{"status":400,"errorCode":"QUERY_PARSE_ERROR","errorMessage":"query parse error","id":"4f0fcce2-1ec1-4713-9952-d9cabdaaf35c"}}
400の場合の仕様通りの返答です: http://site.nicovideo.jp/search-api-docs/search.html
###該当のソースコード
Ruby
1require 'uri' 2require 'net/http' 3require 'json' 4 5uri = URI.escape("http://api.search.nicovideo.jp/api/v2/video/contents/search?q=初音ミク&targets=title&_sort=-viewCounter&&_context=apiguide") 6uri = URI.parse(uri) 7http = Net::HTTP.new(uri.host, uri.port) 8 9req = Net::HTTP::Get.new(uri.path) 10res = http.request(req) 11puts res.body
必須クエリはq, targets, _context, _sortとなります。
検索クエリは初音ミクでなくても構いませんし、他の設定もどうでもいいので、まずは動くようにしたいです。
###補足情報(言語/FW/ツール等のバージョンなど)
Macを使用、OS10.11
$ ruby -v ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin15]
どのようにすれば検索結果が返ってくるでしょうか。ご教示願います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。