Skip to content

Instantly share code, notes, and snippets.

@otya128
Last active April 10, 2024 16:36
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save otya128/9c7499cf667e75964b43d46c8c567e37 to your computer and use it in GitHub Desktop.
Save otya128/9c7499cf667e75964b43d46c8c567e37 to your computer and use it in GitHub Desktop.

nvcomment

  • nmsgまでは運営削除(コメント内容が欠落)と投稿者によるコメント削除(削除フラグのみ)残っていたのが投稿者NGと同様に一切含まれなくなる
  • whenでusec単位で指定できなくなった? (nmsgだと出来たはず)
  • 謎のコメントidが消滅

2022/06/05 iOSで使われているらしい
2022/06/16 HTML5プレイヤーで使用するようになったことを確認
新たにisMyPost: booleanが加わっていた

nvapi

GET /v1/comment/keys/thread

スレッドキーを取得 videoId: 動画ID

flapiで返されるスレッドキー、/api/watch/v3/:idで返されるスレッドキーとも違う

JWTで{"jti":"","exp":1639229495,"typ":"Thread-Key","tids":["1397552684","1397552685"],"f184s":["1397552685"]} のような形式

他のAPI同様フロントエンドIDを指定しなければいけない

nvcomment

POST /legacy/api/

POST /legacy/api.json/

GET /legacy/api/ping

GET /legacy/api/thread

GET /legacy/api/thread_leaves

GET /legacy/api.json/ping

GET /legacy/api.json/thread

GET /legacy/api.json/thread_leaves

POST /v1/threads

他のAPI同様フロントエンドIDを指定しなければいけない

POST https://nvcomment.nicovideo.jp/v1/threads?_frontendId=6
{
  "threadKey": "XXXXX",
  "targets": [
    {
      "id": "1173108780",
      "fork": "owner"
    },
    {
      "id": "1173108780",
      "fork": "main"
    },
    {
      "id": "1173108780",
      "fork": "easy"
    }
  ],
  "language": "ja-jp",
  "additionals": {
    "when": <過去ログの場合unix秒>
  }
}
  "meta": {
    "status": 200
  },
  "data": {
    "globalComments": [
      {
        "id": "1173108780",
        "count": 5283486
      }
    ],
    "threads": [
      {
        "id": "1173108780",
        "fork": "owner",
        "commentCount": 0,
        "comments": []
      },
      {
        "id": "1173108780",
        "fork": "main",
        "commentCount": 5236741,
        "comments": [
          {
            "id": "882123066398695732",
            "no": 4118020,
            "vposMs": 361140,
            "body": "混ぜるな危険www",
            "commands": [
              "184"
            ],
            "userId": "Yg_6QWiiS_T2mq3WJuzUcp41MvQ",
            "isPremium": true,
            "score": -2200,
            "postedAt": "2013-02-17T21:16:30+09:00",
            "nicoruCount": 20,
            "nicoruId": null,
            "source": "leaf"
          },
...
  • sourceは"trunk", "nicoru", "leaf"の値を取る
    • nicoruはニコられることによる残存期間が延びたコメント
    • leafは1分ごとに区切られるleaf(nvcommentになって実質廃止された)でコメントの密度が薄くなってしまう箇所に動画1分あたり過去のコメントをさらに表示する場合
  • 謎のコメントid復活 値はbase64的なのではなく普通の64-bitの数値になった
  • vposがセンチ秒からミリ秒に
  • コメント投稿が秒単位に
  • 最終ニコる日時消滅
  • nicoruIdが追加
    • 自分がニコった場合26文字の大文字か数字で構成される文字列が返る(ULID?)
  • commandsがスペース区切り文字列から文字列配列に
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment