nicovideo gemにマイリスト登録機能を追加した。
まだ、CodeReposにコミットしただけで、gemには反映されていないが、nicovideo gemにマイリスト登録機能を追加した。
こんな感じで使うことができる。
require 'rubygems' require 'nicovideo' require 'yaml' # ログイン nv = Nicovideo.new('メールアドレス', 'パスワード') # 動画を追加するマイリストを取得する ml = nv.mylist('マイリストのID') # 動画をマイリストに追加 ml.add('sm16') # 直前に追加した動画を含む、マイリストに追加されている動画のリストを取得 videos = ml.videos videos.each {|v| puts v.id }
いくつか問題点がある。
・マイリストから削除する機能はない
・マイリストの登録動画リストはRSSから取得しているが、RSSに反映されるには時間がかかるため、手動で動画情報を追加している。そのため、追加した動画は、ソート順に関係なく、常にリストの最後に追加される
・動画追加リクエストの結果のJSONをパースする処理が怪しい
・新たにjsonライブラリに依存するようになった。gem install json を実行する必要がある。Windowsだと、gem install json_pure の方がインストールしやすい*1
・非公開のマイリストにも追加できるが、動画のリストは取得できない。非公開のマイリストを扱えないのは、元からの制限
マイリストに動画を追加する機能については、現状でも十分実用になるので、たとえば、生放送で流した動画を一括登録する、と言うような時にはこれを使うと便利だろう。*2