你想保留哪些留言,會決定你需要使用哪種備份方法:
- 你撰寫的留言: 使用 Google Takeout 和 YouTube 留言記錄。
- 影片或頻道上的留言及回覆: 使用 YouTube Data API,然後逐頁擷取結果。
- 審核或支援紀錄: 保留文字、作者、影片詳情、直接連結、回覆、狀態及擷取時間。
這個區分可避免把個人帳戶匯出誤當成整個頻道的留言封存。
1. 選擇你需要保留的紀錄
先回答一個問題:你要保留的是自己發表的公開留言,還是你管理或檢視的影片上的觀眾留言?
YouTube 的留言記錄可讓你查看自己在 YouTube 發表的公開留言,並透過點擊或輕觸留言內容,開啟留言原本發布的位置(YouTube 說明)。這對尋找自己的留言及其原始內容很有用。
Google Takeout 是帳戶層級的方式。不同匯出方法的比較指出,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 支援透過電子郵件或雲端儲存空間傳送、單次或排程匯出、ZIP 或 TGZ 檔案,以及封存大小限制(Google Takeout 說明)。Google 表示,建立封存可能需時幾分鐘至幾天;大部分人會在同一天收到連結,而較大的下載內容可能會分成多個封存檔案(Google Takeout 說明)。
記錄提出匯出要求的日期,以及收到或下載封存的日期。Google 警告,資料檔案可能不包含提出下載要求至建立封存期間所作的變更,因此應把每次 Takeout 視為一個快照(Google Takeout 說明)。下載資料不會將資料從 Google 伺服器刪除(Google Takeout 說明)。
3. 使用 YouTube Data API 匯出影片或頻道留言
如要處理其他觀眾留下的留言,請以 commentThreads.list 建立封存:
- 對單一影片的留言串選擇
videoId,或對與頻道相關的留言串選擇allThreadsRelatedToChannelId。 - 使用 1 至 100 的
maxResults要求一頁結果。 - 持續使用
nextPageToken,直到沒有下一頁。 - 儲存傳回的
items和回應中的pageInfo,包括totalResults和resultsPerPage。 - 如有需要,使用
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,並建議保留留言的父子關係(留言保存指南)。
使用以下回覆流程:
- 從留言串紀錄儲存頂層留言及其留言 ID。
- 使用該留言 ID 作為
parentId呼叫comments.list。 - 每頁要求最多 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,請將父留言 ID 保存在獨立欄位。如果使用 JSON,請在結構中保留留言串和回覆的關係。無論採用哪種格式,都應將直接連結和擷取日期與紀錄一併保存(留言保存指南)。
驗證連結及涵蓋範圍
當你點擊或輕觸留言時間戳時,YouTube 會建立醒目顯示留言的連結;網址列中的連結會指向該留言及其留言串(YouTube 說明)。如要檢查已保存的連結,請在私人視窗中開啟,確認目標留言串被醒目顯示,而不是只開啟影片(留言保存指南)。
對於 API 執行,將已保存的項目數量與 pageInfo.totalResults 比較,保留 resultsPerPage,並在仍有其他頁面時保留 nextPageToken(commentThreads.list)。對於回覆,使用 comments.list 的分頁資料和父留言 ID 重複相同檢查(comments.list)。
6. 讓備份流程可以重複執行
實用政策包括三個部分:
- 選擇範圍: 對你撰寫的留言使用 Takeout;對影片或頻道留言串使用 API。
- 選擇頻率: Takeout 支援單次及排程匯出,因此當單一快照不足時,可使用排程匯出(Google Takeout 說明)。對於 API 工作,記錄每次執行是每日、每週,還是與審核或發布事件相關。
- 驗證每次執行: 記錄擷取時間、頁面總數、分頁證據、存取失敗,以及至少一次永久連結檢查(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 說明)。