最近,ニコニコ動画のスナップショット検索APIはバージョンアップしました.
今まで,ニコニコ動画の検索に関しては,
にお世話になっていました.
だけど,3月からニコニコ動画側がv1のAPI提供を終了したため,このgemではエラーが出るようになりました.
というわけで新API対応のgemを作りました.
使い方
だいたいREADMEに書いてあるのと,あとは公式のAPIドキュメントを見ればわかると思います.
client = NiconicoSearch::Client.new("your_application_name") results = nico.search( query: keyword, targets: [:title, :description, :tags], options: { _limit: 50, "filters[start_time][gte]" => Time.current.yesterday.beginning_of_day.strftime("%Y-%m-%dT%H:%M:%S%:z"), "filters[start_time][lte]" => Time.current.beginning_of_day.strftime("%Y-%m-%dT%H:%M:%S%:z") } )
こんな感じで使えます.
実は,本当はgemにまでするつもりはあまりなくて,filters
のあたり,あんまり真面目に作ってません(クエリパラメータとしての構造はわかりやすいけど,この構造をrubyのハッシュで作るのは難しいな…).
というか,大分わかりやすいAPIだと思うので,ただのラッパーにしかならないんですよね. ドキュメントちゃんと読んだら(そもそも日本語だし),結構わかりやすい構造をしているし,クエリを組み立てるのもそんなに苦労しないんじゃないかな…….
実際gemにするほどのことでもないんじゃないかな…….
どうでもいい雑感
v2になって以前あったバグが治った気がした. 以前,件数に20件以上を指定した場合,一部の検索結果で日本語が文字化けするという,よくわからないバグに遭遇した.
v1のAPIのせいなのか,nico_search_snapshotのせいなのか,ちょっと真面目に調べてはいないんですが…….
そのあたりはちゃんと治っていて,何件指定してもしっかり検索結果は帰ってきた.
というか,このAPI,事前登録とか認証とか必要なくて,アプリケーション名だけ好きに渡せば使えるって,結構フリーダムだよね.