トップページから Wireshark でハックった。いま、こんなに使いやすい情報に加工されているのね…
番組一覧 API (放送中)
トップページの「現在放送中の注目番組」。一部表示されないものも
リクエスト
http://live.nicovideo.jp/api/getzappinglist?zroute={0}&zpage={1}
- zroute
index: トップページのやつ
recent: 最新リスト (詳細欄?) - zpage
ページ数 - tab=live&sort=start_time&order=desc も recent で使われているときはあった。
番組一覧 API (未来・過去)
トップページの「未来の注目番組」「過去の注目番組」に相当する。形式はナウい JSON
リクエスト
http://live.nicovideo.jp/api/getindexzerostreamlist?status={0}&zpage={1}
- status
番組の“状態”という意味だが、つまりどのリストを出すか。
commingsoon, closed の 2 つのどちらか指定可能。 - zpage
ページ番号。0 と 1 は同一内容、1-20 まで存在し、21 以降はない
感想
ありがたい。Web ページをスクレイピングして組み込まないかと危惧した。よかった。OpenNiconico に早急にぶち込んで、アプリでトップページを作りこまねばらなぬ。
タイムシフト予約リスト API
タイムシフトリストそのまま。lv 接頭語はつかず数字だけ列挙されている。
リクエスト
http://live.nicovideo.jp/api/watchingreservation?mode=list
- mode
list または detaillist*1。詳しい情報が知りたい場合は後者。
感想
最初数字だけ書いてあったから何のことかわからなかったw 投稿する前にタイムシフトページ見に行ったら、lv 抜きの数字に完全一致しているっポイので、「ああ、なるほどw」的に理解した。lv 接頭語がついてないとやっぱりわかりにくいかもw (lv 付きになれ過ぎましたねw)
データサンプル
<nicolive_video_response status="ok">
<timeshift_reserved_list>
<vid>88690983</vid>
<vid>156937562</vid>
</timeshift_reserved_list>
</nicolive_video_response>
まとめ
アプリトップページにこういうのを載せたいので、ちょっと調べてみた感じですが、ほかの部分はどうしているのだろう? (たとえばお気に入り番組とか)
この分野はツール類から必要とされていないため情報が少ないですが、私はアプリを書きたいのであって、変に利用するツールを使う気なんて全くないんで(しいて言えば公式のままの動作を極力再現したいんで)。なんていうか、Web をそのままアプリに落とすのが最終目標って感じなんですよねぇ、どうなることやら…
おーしまい!
20:50 追記
tanakara_botamochi さん、情報提供ありがとうございました。これで私がやりたいこと、一通りできそうな感じです。ありがとうございます。
*1:5/2 自分で実装中に確認していたら detaillis になっていました。申し訳ないです。