保存したいコメントの対象によって、適したバックアップ方法は異なります。
- 自分が投稿したコメント: Google TakeoutとYouTubeのコメント履歴を使用します。
- 動画やチャンネルのコメントと返信: YouTube Data APIを使用し、結果をページごとに取得します。
- モデレーションやサポートの記録: テキスト、投稿者、動画の詳細、直接リンク、返信、ステータス、取得時刻を保存します。
この区別により、個人アカウントのエクスポートをチャンネル全体のコメントアーカイブと取り違えることを防げます。
単発のコメントファイルではなく、YouTubeプロフィール全体をアーカイブしたいですか?SocialGuardianは対応プラットフォームにYouTubeを含め、アーカイブをあなたのアカウント内で非公開に保ち、いつでもアーカイブ全体をエクスポートできると説明しています(アーカイブのオプションを見る)。バックアップを開始
1. 保存する記録を選ぶ
まず、次の質問に答えましょう。保存するのは自分が投稿した公開コメントですか、それとも管理または確認している動画の視聴者コメントですか?
YouTubeのコメント履歴では、YouTube全体で自分が投稿した公開コメントを確認できます。また、コメントの内容をクリックまたはタップすると、投稿された元の場所を開けます(YouTubeヘルプ)。自分のコメントと元のコンテキストを探すのに便利です。
Google Takeoutはアカウント単位の方法です。エクスポート方法の比較では、動画またはチャンネルのエクスポートとは異なり、Takeoutがエクスポートするのは自分が書いたコメントであり、自分の動画に他の視聴者が残したコメントではないと説明されています(エクスポート方法の比較)。
視聴者コメントには、YouTube Data APIのcommentThreads.listを使用します。videoId、またはallThreadsRelatedToChannelIdで絞り込めます(YouTube Data API)。
2. Google Takeoutで自分が書いたコメントをバックアップする
個人のコメントアーカイブには、次の手順を使います。
takeout.google.comを開きます。- すべてのサービスの選択を解除し、YouTubeとYouTube Musicを選択します。
- YouTubeのデータオプションで、コメントを選択します。
- エクスポート形式とファイルサイズを選び、エクスポートを作成します。
この手順は、確認済みのコメントのみを対象にしたTakeoutのワークフローに基づいています(エクスポート方法の比較)。Googleも一般的な流れとして、ログイン、Google Takeoutの開始、不要なサービスの選択解除、必要に応じたすべてのデータを含めるによるサービス内データの絞り込み、次のステップの選択を案内しています(Google Takeoutヘルプ)。
Takeoutでは、メールまたはクラウドストレージでの配信、1回限りまたは定期的なエクスポート、ZIPまたはTGZファイル、アーカイブサイズの上限を選べます(Google Takeoutヘルプ)。Googleによると、アーカイブの作成には数分から数日かかることがあり、多くの場合は同日にリンクが届きます。また、大きなダウンロードは複数のアーカイブに分割される場合があります(Google Takeoutヘルプ)。
エクスポートをリクエストした日と、アーカイブを受け取った、またはダウンロードした日を記録します。Googleは、ダウンロードのリクエストからアーカイブ作成までの間に行われた変更がデータファイルに含まれない場合があると警告しています。そのため、各Takeoutをスナップショットとして扱いましょう(Google Takeoutヘルプ)。データをダウンロードしても、Googleのサーバーから削除されることはありません(Google Takeoutヘルプ)。
3. YouTube Data APIで動画またはチャンネルのコメントをエクスポートする
他の視聴者が残したコメントについては、commentThreads.listを中心にアーカイブを構築します。
- 1本の動画のスレッドには
videoId、チャンネルに関連するスレッドにはallThreadsRelatedToChannelIdを選びます。 maxResultsを1から100の範囲で指定してページをリクエストします。nextPageTokenがなくなるまで追跡します。- 返された
itemsと、totalResultsおよびresultsPerPageを含むレスポンスのpageInfoを保存します。 - 必要に応じて
searchTermsで指定した語句を含むコメントに絞り込み、textFormatにはhtmlまたはplainTextを選びます。
フィルター、ページサイズ、ページネーションのフィールド、検索フィルター、テキスト形式はYouTube APIリファレンスに記載されています(commentThreads.list)。ページトークンと合計件数をエクスポートに含めることで、コメント行の集まりだけでなく、その実行でどの範囲のデータを取得したかを示す証拠になります(commentThreads.list)。
完了と判断する前に、アクセスを確認します。APIでは、動画でコメントが無効になっている場合はcommentsDisabledの403エラー、リクエストに権限がない場合はinsufficient permissionsエラーが記載されています(commentThreads.list)。これらの失敗をアーカイブとともに記録し、該当する動画またはチャンネルを不完全としてラベル付けします。
commentThreads.listの各呼び出しには1クォータ単位がかかります。追加のページリクエストにもメソッドのコストが発生します。YouTube Data APIを有効にしたプロジェクトでは、他のすべてのエンドポイントに対して1日あたり10,000単位のデフォルト割り当てがあり、1日のクォータは太平洋時間の午前0時にリセットされます(YouTubeクォータガイド)。
すべてのエクスポートを手作業で組み立てるのではなく、定期的な公開プロフィールのアーカイブが必要ですか?SocialGuardianは、自動バックアップが毎日実行され、YouTubeを含む対応プラットフォーム全体のコンテンツとエンゲージメントを含むと説明しています(SocialGuardian)。プロフィールのバックアップを設定
4. 返信とモデレーションのコンテキストを保存する
トップレベルのスレッドレスポンスに、すべての返信が含まれているとは限りません。保存に関するガイドでは、返信を完全に取得するにはcomments.listが必要になる場合があり、親子関係を保存することを推奨しています(コメント保存ガイド)。
返信については、次の手順を使います。
- スレッドレコードからトップレベルコメントとそのコメントIDを保存します。
- そのコメントIDを
parentIdとしてcomments.listを呼び出します。 - 1ページあたり最大100件をリクエストし、追加ページについては
pageTokenを追跡します。 - 各返信を親コメントIDとともに保存します。
YouTube APIには、parentId、1から100のページサイズ、comments.listのpageTokenによるページネーションが記載されています(comments.list)。また、YouTubeが現在サポートしているのはトップレベルコメントへの返信であり、返信への返信は将来サポートされる可能性があると説明されています(comments.list)。
認証済みリクエストでは、commentThreads.listのmoderationStatusをheldForReview、likelySpam、publishedで絞り込めます。デフォルトはpublishedです(commentThreads.list)。モデレーションのコンテキストが重要な場合は、そのステータスを取得時刻とともに保存します。APIがコメント無効または権限不足を報告した場合、実行を完了とラベル付けしないでください(commentThreads.list)。
5. 役立つアーカイブを構築する
動画とスレッドのコンテキストがないコメント行は、後から確認しにくくなります。保存のチェックリストでは、次の項目を保持することが推奨されています。
- コメント本文
- 表示される投稿者名
- 動画タイトル
- コメントへの直接リンク
- 取得日
- 記録がサポート用の場合は、前後の返信と問題のステータス
これらの項目は、実用的なコメント保存ガイドに基づいています(コメント保存ガイド)。APIエクスポートでは、コメントID、親コメントID、リクエストフィルター、ページトークン、レスポンスの合計件数も追加し、関係性と収集範囲が確認できるようにします(commentThreads.list; comments.list)。
CSVとJSONのどちらを選ぶか
- CSV: アーカイブの主な用途が表計算での並べ替えや共有である場合に選びます(エクスポート方法の比較)。
- JSON: 階層的なコメントスレッド構造と、プログラム処理用のメタデータが必要な場合に選びます(エクスポート方法の比較)。
CSVを使う場合は、親コメントIDを独立した列に保存します。JSONを使う場合は、構造内にスレッドと返信の関係を保持します。どちらの形式でも、直接リンクと取得日を記録とともに保存します(コメント保存ガイド)。
リンクと網羅性を確認する
YouTubeでは、コメントのタイムスタンプをクリックまたはタップすると、ハイライトされたコメントへのリンクが作成されます。アドレスバーに表示されるリンクは、そのコメントとスレッドを指します(YouTubeヘルプ)。保存したリンクを確認するには、プライベートウィンドウで開き、動画だけでなく対象のスレッドがハイライトされることを確認します(コメント保存ガイド)。
APIの実行では、保存したアイテム数とpageInfo.totalResultsを比較し、resultsPerPageを保持します。ページが残っている間はnextPageTokenも保存します(commentThreads.list)。返信についても、comments.listのページネーションと親IDを使って同じ確認を行います(comments.list)。
6. バックアップを繰り返し実行できるようにする
実用的な方針には、次の3つの要素があります。
- 範囲を選ぶ: 自分が書いたコメントにはTakeout、動画またはチャンネルのスレッドにはAPIを使います。
- 頻度を選ぶ: Takeoutは1回限りと定期的なエクスポートに対応しているため、1回のスナップショットで不十分な場合は定期エクスポートを使います(Google Takeoutヘルプ)。APIジョブでは、各実行が毎日、毎週、またはモデレーションや公開イベントに紐づくものかを記録します。
- 毎回確認する: 取得時刻、ページの合計件数、ページネーションの証拠、アクセス失敗、少なくとも1件のパーマリンク確認を記録します(Google Takeoutヘルプ; commentThreads.list; コメント保存ガイド)。
バックアップは、その時点で取得された内容を保存します。YouTubeによると、削除された動画に投稿したコメントや、ポリシー違反によってYouTubeが削除したコメントは、コメント履歴に表示されません(YouTubeヘルプ)。そのため、履歴記録が必要な場合は取得時刻と範囲が重要です。
SocialGuardianによると、公開の@handleを共有すると、コンテンツを自動的にアーカイブし、パスワードやログインなしでダウンロードまたは復元できます(SocialGuardian)。公開プロフィールから始める
FAQ
YouTubeコメントをバックアップするにはどうすればよいですか?
自分が書いたコメントにはGoogle Takeoutを使います。動画またはチャンネルに関連するコメントにはcommentThreads.listを使い、nextPageTokenでページを追跡します。返信が必要な場合は、parentIdを指定してcomments.listを使います(エクスポート方法の比較; commentThreads.list; comments.list)。
YouTube動画のコメントをすべてエクスポートできますか?
videoIdを使って動画のコメントスレッドをリクエストし、1ページあたり最大100件を取得してnextPageTokenを追跡できます。アーカイブを完了とする前に、コメント無効や権限エラーを確認してください(commentThreads.list)。
Google Takeoutでは、自分が所有していない動画のコメントもエクスポートされますか?
確認済みのエクスポート比較によると、Takeoutがエクスポートするのは自分が書いたコメントであり、自分の動画に他の視聴者が残したコメントではありません。動画またはチャンネルのコメントスレッドには、YouTube Data APIを使います(エクスポート方法の比較; commentThreads.list)。
YouTubeのコメント返信とモデレーションのコンテキストを保存するにはどうすればよいですか?
スレッドを取得し、トップレベルコメントをparentIdとしてcomments.listを使い、ページネーションを追跡して親子関係を保存します。認証済みリクエストでは、heldForReview、likelySpam、publishedなどのmoderationStatusを保存します(comments.list; commentThreads.list)。
YouTubeコメントはCSVとJSONのどちらで保存すべきですか?
表計算での並べ替えや共有にはCSVを使います。プログラム処理で使用する階層的なスレッド構造とメタデータにはJSONを使います(エクスポート方法の比較)。
YouTube APIですべての返信を取得できますか?
1つのcommentThreads.listレスポンスにすべての返信が含まれるとは限りません。parentIdを指定してcomments.listを使い、pageTokenでページネーションを追跡します。YouTubeが現在ドキュメントで説明しているのは、トップレベルコメントへの返信です(コメント保存ガイド; comments.list)。
YouTubeコメントはどのくらいの頻度でバックアップすべきですか?
コメントやモデレーション記録が変化する速さに合った頻度を決め、文書化します。Google Takeoutは1回限りと定期的なエクスポートに対応しています。一方、APIワークフローでは、各実行が毎日、毎週、またはイベントベースのものかを記録します(Google Takeoutヘルプ)。
削除されたYouTubeコメントを復元できますか?
削除される前にコピーを保存し、本文、投稿者、動画タイトル、直接リンク、返信、取得日を保持します。YouTubeによると、削除された動画のコメントや、ポリシー違反で削除されたコメントはコメント履歴に表示されません(コメント保存ガイド; YouTubeヘルプ)。