ニコ動マイリスト系APIまとめ
ニコニコのマイリスト系のツールを趣味プロで作る時、大体「ニコニコ動画のAPIまとめ」にお世話になっているのですが、情報が古いのか、記載ミスなのか分かりませんが解説の通りにやってもうまく行かない部分があるのでメモ。
なかなかニコ動のAPI(特にマイリスト、静画)を解説してるサイトも見当たらないですしね。
すでにきちんと記載されているものは省きますので、「ニコニコ動画のAPIまとめ」と合わせながら御覧ください。
- item_typeは動画、静画の種類を表す(他にもあるかも)
- 0:動画
- 5:静画
- とりあえずマイリストへの動画、静画登録(静画は動画と叩くAPIが違うし、手間も多いので非常に面倒)
- 動画
http://www.nicovideo.jp/api/deflist/add?item_id=ITEM_ID&token=TOKEN- ITEM_IDはapi/deflist/listなどで取得できる動画のID
- TOKENはマイリストページ内で取得できるNicoAPI.token
- 静画
- http://seiga.nicovideo.jp/ajax/token/issue?_=UNIXTIME&_a=mylistで静画とりあえずマイリスト用tokenを取得
- その後すぐに、http://seiga.nicovideo.jp/ajax/mylist/deflist/addに「id=ITEM_ID&_t=SEIGATOKEN&_a=mylist」を【POST】する
(GETでは不正なレスポンスが返ってくる。マイリスト系の他のAPIはGETでいけるのに…)
- 動画
- とりあえずマイリスト以外のマイリストから他のマイリストへの動画、静画移動
- http://www.nicovideo.jp/api/mylist/move?id_list%5BITEM_TYPE%5D%5B%5D=ITEM_ID&description=DESCRIPTION&group_id=FROMLISTID&target_group_id=TOLISTID&token=TOKEN
例)api/mylist/move?id_list[0][]=12345678&description=テスト&group_id=12345678&target_group_id=6789012&token=00000-1234567890-1234567890abcdefghijkl
- http://www.nicovideo.jp/api/mylist/move?id_list%5BITEM_TYPE%5D%5B%5D=ITEM_ID&description=DESCRIPTION&group_id=FROMLISTID&target_group_id=TOLISTID&token=TOKEN
- とりあえずマイリストから他のマイリストへの動画、静画移動
- http://www.nicovideo.jp/api/deflist/move?id_list%5BITEM_TYPE%5D%5B%5D=ITEM_ID&target_group_id=TOLISTID&token=TOKEN
- とりあえずマイリスト以外からの移動からgroup_id=FROMLISTIDがなくなっただけ
- これもtokenは動画、静画共通
- http://www.nicovideo.jp/api/deflist/move?id_list%5BITEM_TYPE%5D%5B%5D=ITEM_ID&target_group_id=TOLISTID&token=TOKEN
- 他のマイリストからとりあえずマイリストへの動画、静画移動、コピー
- 需要がないからなのかAPIは存在しない(ニコ動本体のマイリストページでもとりあえずマイリストへの移動は実装されていない)
- どうしてもそういうことをしたい場合は、ITEM_IDを元に「とりあえずマイリスト」へ新規にアイテム(動画・静画)を追加、移動元のマイリストからそのアイテムを削除で一応実装できる
※ただし、とりあえずマイリストへ追加する場合、マイリストコメントを入力することが出来ないため、マイリストコメントは破棄される
なお、APIのレスポンスでerrorのJSONが返ってきた場合の「\u671f\u9650\u5207\u308c\u306e\u30c8\u30fc\u30af\u30f3\u3067\u3059」などはユニコードエスケープシーケンスですので、変換してあげると日本語として読めます。ちなみにこの場合は「期限切れのトークンです」というメッセージ。このサイトなどで変換できます。
新しいAPI見つけたら随時補足したいと思います。