根据你要保存的评论对象,需要选择不同的备份方法:
- 你发布的评论: 使用 Google Takeout 和 YouTube 评论记录。
- 视频或频道中的评论和回复: 使用 YouTube Data API,然后通过分页获取结果。
- 审核或客服记录: 保存文本、作者、视频详情、直接链接、回复、状态和采集时间。
这种区分可以避免把个人账户导出误认为整个频道的评论归档。
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、取消选中不需要的产品、使用 包含的所有数据(All data included)缩小产品范围(可选),然后选择 下一步(Next step)(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)。从公开资料开始
常见问题
如何备份 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 帮助)。