8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ニコ動のコメント関連API ざっくり解説【nvapi】

Posted at

はじめに

この記事ではニコニコ動画の各動画に投稿されたコメントを取得したり、ログインユーザーとして動画コメントを投稿するなど、ニコニコのAPI利用について説明しています。

この記事ではニコニコサービスの本来は非公開とされるAPIを紹介しています。

あなたが何かツールを作ろうという時は、必ずHttpヘッダーのユーザーエージェントにあなた自身の連絡先(メールアドレスなりツイッターIDなり)を記載することを推奨します。

ニコニコのサーバー及びサービス運営に対し負荷が掛からないように注意してアプリ・ツールを開発、提供しましょう。

コメント関連のAPIの全体観

  • コメントの取得
    • owner/main/easy の3系統を選択的に取得できます(系統は「Fork」と表現される)
    • owner -> 投稿者コメント、動画投稿者が専用ページで編集したコメント
    • main -> 通常コメント
    • easy -> 「かんたんコメント」で投稿されたコメント
    • 詳細条件を指定したコメント取得方法は不明
  • コメントの投稿
    • 系統ごとに投稿APIが分かれている
    • 投稿には操作キーが要求され、系統ごとに操作キーの取得APIも分かれている
    • 投稿APIはPOSTで送信(操作キーはGet)
  • コメントの削除
    • 自ら投稿したコメントを削除できる
    • APIへのパラメータでコメント番号と系統を指定する
    • 削除APIはPUTで送信(操作キーはGet)

この記事では触れていませんが、以下のコメント機能も操作できるかもしれません。

  • コメントを「ニコる」
  • 投稿者コメントの編集

コメント取得の流れ

  • 動画情報ページにアクセスして initial-watch-data が示すJSONから nvComment を取得する。
  • https://nvcomment.nicovideo.jp/v1/threads に nvComment のデータをPOSTしてコメント取得完了。

C#+.Netでの実装例は以下から見れます

実装例を実際に使う単体テストはこちら

コメント投稿の流れ

  • 動画データを取得(コメント取得時と同様)
  • (UI上でコメント本文とコメントコマンドを受け取る)
  • PostKeyを取得
  • コメント投稿APIにスレッドID、動画ID、コメント本文、コメントコマンド、動画時間(マイクロ秒単位)を指定して POST で送信する

以下が実装例です

なお、コメント投稿にはHttpヘッダーの指定とアカウントのログイン処理が必要になるので適宜実装してください。

↓がヘッダーの指定の実装例

↓こちらがニコニコへのログインの実装例

かんたんコメントの投稿

通常コメントと流れは一緒ですが、APIのURLなどが一部異なります。

実装例はこちら

自ら投稿したコメントの削除

コメント投稿と似た流れで削除も行えます。

  1. (投稿と同様にヘッダーの指定とログイン処理)
  2. 削除キーの取得
  3. 動画ID、スレッドキー、コメント番号、系統(Fork)、削除キーを指定して PUT でリクエストを送る

以下が実装例です

その他

.Net 向けのニコニコ動画、生放送のAPIラッパーライブラリ

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?