ニコニコのコメントサーバー
2020-11-06版
2021年に変わるらしい?
エンドポイント
POST https://nmsg.nicovideo.jp/api.json/
スレッドID
UNIXタイムスタンプ?
一応文字列で扱っているみたい
version
2つある
20061206
20090904
2009年版だと
thread_leafが使える (というか使うには必須?)
指定するだけで leaf 番号ごとのコメント数情報が付いてくる
これは意味があるのか?
投コメなら絶対2006年版?
leaf番号
leafは内部的な分散保存?
sm9だと2047とかある
leaf=0だとXML→JSON変換の途中で?消えるっぽい
chatにも同じく
分散…されているのか?これ
leaf=0がleafない時代の(msg.nicovideo.jpのころの?)コメントっぽい?
最近のコメントは leaf=1,2,3,4で分散しているように見える
fork
0=通常コメント
1=投稿者コメント
2=かんたんコメント
リクエストに使うタグ
thread
thread: スレッドID
version: 上記参照
fork: 上記参照
language: 謎 (言語指定?0=ja_JP)
user_id: ログインしている場合、ニコニコのユーザーID
with_global: 謎。とりあえず1
scores: NGスコアを添付するかどうか (1=添付)
nicoru: 旧ニコるは1、新ニコるは3?不明
userkey: 謎。プレーヤー読み込む時に貰える
waybackkey: https://ext.nicovideo.jp/api/getwaybackkey?thread=スレッドID でもらう
プレミアム会員のセッションが必要?
HTML5プレーヤーはflapiのほう叩いてる
res_from: -num(num=1〜1000)でどれだけ過去ログを取得するかを決める
when: waybackするタイムスタンプ
浮動小数点でusecが使える!!!
thread_leaf
threadと変わらない: thread, fork, language, user_id, scores, nicoru, userkey, waybackkey, when
content
,区切り
start-end:num で start分からend分まで1分ずつnum個のコメントを取得
nicoru:numでニコるのコメント残留分?
ただのnumで普通の過去ログ取得?
ping
contentの中身をそのまま返してくれる
レスポンスに使うタグ
thread
table:thread
名前 データ例 説明
resultcode 0 成功したかどうか?
thread (スレッドID) 取ったスレッドID
server_time 1604615909 サーバーのUNIXタイムスタンプ (秒単位)
last_res 11111 レスポンス内に含まれる最新のコメントID
ticket 0xdeadbeaf コメント投稿用らしい?よくわからん
revision 126 ?
global_num_res
table:global_num_res
thread (スレッドID)
num_res コメント数
chat
table:chat
thread (スレッドID) スレッドID
no 11111 コメントID (通し番号?)
vpos 1111 動画上での再生時間 (msecだった気がする)
leaf 1 どのleafにコメントがあるか?
date 1234567890 コメントが投稿された時間のUNIXタイムスタンプ
date_usec 123456 コメントが投稿された時間のマイクロ秒? 古いコメントにはない
anonymity 1 184かどうか?
mail big red shita コメントのコマンド
user_id 2 コメントを投稿したユーザーID。184だったら数字じゃなくて変なのが入る
content 草 コメントの本文
ping
table:ping
content ps:1 リクエストで送ったcontentの中身がそのまま返る