你想保留哪些人的留言,會決定你需要使用哪種備份方法:

  • **你撰寫的留言:**使用 Google Takeout 和 YouTube 留言記錄。
  • **影片或頻道上的留言與回覆:**使用 YouTube Data API,接著分頁擷取結果。
  • **審核或支援紀錄:**保留文字、作者、影片詳細資訊、直接連結、回覆、狀態與擷取時間。

這項區分能避免把個人帳戶匯出誤認為整個頻道的留言封存。

想要的是完整的 YouTube 個人檔案封存,而不是單次留言檔案嗎?SocialGuardian 將 YouTube 列為支援的平台之一,封存內容僅保留在你的帳戶中,並表示你隨時可以匯出完整封存內容(查看封存選項)。開始備份

1. 選擇你需要保留的紀錄

先回答一個問題:你要保留的是自己公開發表的留言,還是你管理或正在檢視之影片上的觀眾留言?

YouTube 的「留言記錄」可讓你查看自己在 YouTube 留下的公開留言,並點選或輕觸留言內容,開啟留言發布的原始位置(YouTube 說明)。這適合用來尋找自己的留言及其原始脈絡。

Google Takeout 是帳戶層級的方式。匯出方法比較指出,Takeout 與影片或頻道匯出不同:Takeout 會匯出你撰寫的留言,而不是其他觀眾在你的影片下留下的留言(匯出方法比較)。

若要處理觀眾留言,請使用 YouTube Data API 的 commentThreads.list。你可以依 videoId 或 allThreadsRelatedToChannelId 篩選(YouTube Data API)。

2. 使用 Google Takeout 備份你撰寫的留言

個人留言封存可採用以下流程:

  1. 開啟 takeout.google.com。
  2. 取消選取所有產品,然後選取 YouTube 和 YouTube Music。
  3. 在 YouTube 下方,於資料選項中選取 留言。
  4. 選擇匯出格式與檔案大小,然後建立匯出檔案。

以上步驟來自經審閱的留言專用 Takeout 流程(匯出方法比較)。Google 也說明一般流程:登入、開啟 Google Takeout、取消選取不需要的產品、視需要使用 已包含的所有資料 縮小產品範圍,然後選取 下一步(Google Takeout 說明)。

Takeout 支援透過電子郵件或雲端儲存空間傳送、單次或排程匯出、ZIP 或 TGZ 檔案,以及封存大小限制(Google Takeout 說明)。Google 表示,建立封存可能需要幾分鐘到幾天,多數人會在同一天收到連結;較大的下載內容可能會分割成多個封存檔(Google Takeout 說明)。

記錄提出匯出要求的日期,以及收到或下載封存檔的日期。Google 警告,資料檔案可能不包含提出下載要求到建立封存期間所做的變更,因此應將每次 Takeout 視為快照(Google Takeout 說明)。下載資料不會將資料從 Google 伺服器刪除(Google Takeout 說明)。

3. 使用 YouTube Data API 匯出影片或頻道留言

對於其他觀眾留下的留言,請以 commentThreads.list 建立封存:

  1. 為單支影片的留言串選擇 videoId,或為與頻道相關的留言串選擇 allThreadsRelatedToChannelId。
  2. 使用介於 1 到 100 的 maxResults 要求一頁結果。
  3. 持續使用 nextPageToken,直到沒有下一頁。
  4. 儲存傳回的 items 及回應的 pageInfo,包括 totalResults 與 resultsPerPage。
  5. 如有需要,使用 searchTerms 將結果限制為包含指定詞語的留言,並將 textFormat 選為 html 或 plainText。

YouTube API 參考文件說明了篩選器、頁面大小、分頁欄位、搜尋篩選器與文字格式(commentThreads.list)。將頁面權杖與總數一併保存在匯出內容中,可以證明這次執行涵蓋了多少資料,而不只是留下一堆留言列(commentThreads.list)。

呼叫結果前請先確認存取權限。API 文件列出影片停用留言時會出現 commentsDisabled 403,以及要求缺少權限時會出現 insufficient permissions 錯誤(commentThreads.list)。將這些失敗與封存內容一併記錄,並將受影響的影片或頻道標記為不完整。

每次 commentThreads.list 呼叫會耗用 1 個配額單位。額外的頁面要求也會產生該方法的成本;啟用 YouTube Data API 的專案對所有其他端點每日預設配額為 10,000 單位,每日配額會在太平洋時間午夜重設(YouTube 配額指南)。

如果你想要定期封存公開個人檔案,而不是手動組合每次匯出,SocialGuardian 表示其自動備份每天執行,並涵蓋包括 YouTube 在內的支援平台內容與互動(SocialGuardian)。設定個人檔案備份

4. 保留回覆與審核脈絡

頂層留言串回應不代表所有回覆都已存在。留言保存指南指出,完整擷取回覆可能需要使用 comments.list,並建議保留父子關係(留言保存指南)。

請使用以下回覆流程:

  1. 從留言串紀錄儲存頂層留言及其留言 ID。
  2. 使用該留言 ID 作為 parentId 呼叫 comments.list。
  3. 每頁要求最多 100 筆結果,並使用 pageToken 擷取其他頁面。
  4. 儲存每則回覆及其父留言 ID。

YouTube API 文件說明了 parentId、1 到 100 的頁面大小,以及 comments.list 的 pageToken 分頁方式(comments.list)。文件也指出,YouTube 目前支援回覆頂層留言;未來可能支援回覆回覆(comments.list)。

對於已授權的要求,commentThreads.list 可以用 heldForReview、likelySpam 或 published 篩選 moderationStatus;預設值為 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. 讓備份流程可重複執行

實用政策包含三個部分:

  1. **選擇範圍:**你撰寫的留言使用 Takeout;影片或頻道留言串使用 API。
  2. **選擇頻率:**Takeout 支援單次與排程匯出,因此當單一快照不足時,請使用排程匯出(Google Takeout 說明)。對於 API 工作,記錄每次執行是每日、每週,還是與審核或發布事件相關。
  3. **驗證每次執行:**記錄擷取時間、頁面總數、分頁證據、存取失敗,以及至少一次永久連結檢查(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 要求影片的留言串,每頁要求最多 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 能擷取留言串中的每一則回覆嗎?

不要假設單次 commentThreads.list 回應包含所有回覆。請使用帶有 parentId 的 comments.list,並透過 pageToken 分頁;YouTube 目前文件化支援回覆頂層留言(留言保存指南;comments.list)。

應該多久備份一次 YouTube 留言?

選擇符合留言或審核紀錄變化速度的已記錄頻率。Google Takeout 支援單次與排程匯出;API 流程則應記錄每次執行是每日、每週或依事件進行(Google Takeout 說明)。

YouTube 留言遭刪除後可以復原嗎?

請在刪除前保留副本,並保存其文字、作者、影片標題、直接連結、回覆與擷取日期。YouTube 表示,已刪除影片上的留言,或因違反政策而被移除的留言,不會出現在留言記錄中(留言保存指南;YouTube 說明)。