

# 如何导出并核查你的 YouTube 观看记录

使用 Google Takeout 导出你自己的 YouTube 观看记录。然后核查每个已记录的观看事件，包括对同一视频的重复观看。保留原始时间，并记录归档文件的覆盖范围。你可以核查导出的记录，但不能假定其中包含你看过的每个视频。Google 说明，从提交申请到创建归档文件期间发生的变更，可能不会包含在归档文件中。已删除的数据也可能不在其中。[Google 数据下载指南](https://support.google.com/accounts/answer/3024190?hl=en-GB)

观看事件是一次被记录下来的观看行为。同一视频看两次，就是两个事件。归档文件是下载到本地的账号数据副本。主要结果应为归档文件中记录的每个观看事件保留一行。

你可以稍后添加当前的公开视频详情。请将这一步单独处理。公开视频详情无法恢复缺失的私人观看事件。

## 明确需要核查的内容

读者想要的是“完整的 YouTube 观看记录”。这需要分别核查两件事：表格是否保留了导出的事件，以及归档文件是否覆盖了你预期的观看记录。

你可以将表格与源文件逐项比对。但仅凭这些文件，无法证明它们覆盖了你从开始使用以来的全部观看记录。一位账号所有者在[公开提问](https://www.reddit.com/r/youtube/comments/1p0emm6/how_to_export_my_full_youtube_history/)中反映，Takeout 导出的内容不完整。这只是一次缺口报告，不能据此确定失败率，也不能据此得出能保证获得完整记录的方法。

计划保存以下三项记录：

1. 一份私人说明，记录申请的归档文件及其内容。
2. 一张保留重复观看和原始时间的观看事件表。
3. 一张可选的公开视频表，每个视频 ID 只选用一条结果。

ID 是用于标识某个对象的值。视频 ID 标识的是视频，而不是观看事件。在整个操作过程中，请始终区分这两种用途。

## 申请归档文件并记录范围

仅使用你自己的 Google 账号。通过[官方下载指南](https://support.google.com/accounts/answer/3024190?hl=en-GB)，打开已登录账号的 Google Takeout 页面。

不要依赖固定的菜单路径或文件名。请查看当前可选的产品，以及各产品中可包含的数据。

1. 选择观看记录所需的 YouTube 数据或账号活动数据。
2. 私下记录所用账号和所选数据。
3. 记录申请日期。
4. 申请归档文件。
5. 下载该次申请提供的所有归档分卷。
6. 记录归档文件的创建日期、文件格式和分卷名称。
7. 保持原始文件不变。
8. 打开用于处理的副本，确认其中包含观看事件。

搜索活动和订阅信息不能证明你看过哪些视频。统计行数之前，请根据实际内容确认记录类型。

所选数据决定了申请的数据范围，也就是你要求 Google 包含的账号数据。请将实际收到的内容另行记录为一项事实。仅仅选中了某个类别，并不能证明下载的文件包含所有预期记录。

请勿公开归档文件。可选的公开信息核查只需要选定的公开视频 ID 或链接，不需要归档文件或你的账号登录凭据。下载数据不会删除云端副本。[Google 导出范围与限制](https://support.google.com/accounts/answer/3024190?hl=en-GB)

## 建立保留每个观看事件的表格

导入文件前，先阅读实际字段名。不要假定文件结构、日期格式或视频字段固定不变。

为源文件中的每个观看事件创建一行工作记录。保留所有原始字段。添加定位信息，以便在未经修改的归档文件中找到该事件。

下列字段是建议使用的工作字段，并不表示 Google 导出文件一定使用这些列名。

| 工作字段 | 保存内容 | 信息缺失时的处理规则 |
| --- | --- | --- |
| 归档定位信息 | 归档申请或已保存副本的定位信息 | 查明未知来源 |
| 源文件及事件定位信息 | 文件名，以及行号或条目位置 | 进一步处理前先补充定位信息 |
| 原始活动文本 | 来源提供的活动文本原文 | 文本缺失时留空 |
| 原始事件时间 | 来源中的原始时间戳 | 不要用其他日期代替 |
| 来源时区 | 来源提供的时区或时差偏移量（如有） | 未提供时区时标记为待确认 |
| 统一格式的事件时间 | 条件允许时，保存经过核查的统一时间值 | 时间尚未确认前留空 |
| 原始视频链接 | 来源中的原始链接（如有） | 没有链接也要保留事件 |
| 已核查的视频 ID | 根据来源确认的视频身份 | 视频身份不确定时保持待确认状态 |
| 时间核查状态 | 时间是否已确认 | 保留不确定的原因 |
| 公开信息查询状态 | 未查询、已匹配或待确认 | 与归档覆盖范围分开记录 |

时间戳是已存储的日期和时间。统一格式的时间是转换为共同形式后另存的一个值。两者都不能用来替换原始来源值。

来源定位信息用于在已保存的归档文件中找到事件。它不一定是可在不同导出文件间保持不变的事件 ID。两个文件的行号相同，并不能证明它们记录的是同一个事件。

视频链接缺失，并不意味着已记录的观看事件不存在。请保留事件，并将视频身份标记为待确认。同样，字段为空表示信息缺失，不表示观看次数为零。

## 确认时间，同时保持其含义不变

观看时间、视频发布时间和公开信息查询时间，描述的是不同事件。

| 时间 | 含义 | 正确用途 |
| --- | --- | --- |
| 归档中的事件时间 | 归档中记录的观看行为发生时间 | 对已记录的观看进行排序或分组 |
| 视频发布时间 | 视频发布的时间 | 描述视频 |
| 公开信息查询时间 | 采集公开详情的时间 | 标明公开观测记录的采集时间 |
| 归档申请或创建时间 | 提交导出申请或创建导出文件的时间 | 描述归档文件 |

只有在明确日期格式后，才能解析日期。解析是指将存储的文本读取为日期和时间。如果日期含义不明确，在查明前应保持待确认状态。

1. 保持原始时间戳不变。
2. 根据来源确定日期格式。
3. 确定来源提供的时区或时差偏移量（如有）。
4. 只有在这些信息明确后，才能转换时间值。
5. 将转换后的值与原始值并列保存。
6. 记录所有尚未解决的时间问题。

UTC 是协调世界时，是一种通用的时间基准。当来源时间可以确定时，你可以保存统一转换后的 UTC 值。不要仅因为电脑使用某个时区，就将该时区赋给记录。

不要将导入时间当作观看时间。不要用视频发布时间填补缺失的事件时间。如果之后按天对观看记录分组，请说明报告使用的时区。先解决时间问题，再将每日总数视为经过核查的结果。

## 保留重复观看，只删除已证实的导入副本

两个事件可以有相同的视频 ID、标题或日期。这并不意味着它们是重复事件。

例如，同一个视频早上看一次、晚上看一次，仍应保留为两行。按视频 ID 删除行，会丢失一部分已记录的观看历史。

去重是指删除已确认属于同一条记录的多余副本。只有在证据表明这些副本由导入过程产生时，才能执行去重。例如，同一份未经修改的归档文件被导入了两次，就可以通过归档、文件和来源条目的定位信息进行核查。

1. 统计已导入的观看事件行数。
2. 检查是否有归档分卷被导入了两次。
3. 通过来源定位信息找出被重复复制的来源记录。
4. 只删除已证实为多余副本的记录。
5. 记录删除的副本数量及原因。
6. 添加公开详情前，先保存保留的事件数。

仅凭视频 ID 或时间戳相同，不能证明两行是同一记录的副本。覆盖范围重叠的归档文件需要另行核查记录。不要将尚不确定的匹配项强行合并为一个事件。

## 决定是否需要公开视频详情

如果核查后的事件表已能回答你的问题，就可以到此为止。

可选的元数据可以补充当前标题、频道详情和公开计数。元数据是描述某个对象的信息。它描述的是视频，不能据此认定多出了一次观看事件。

[Chronometrica YouTube Metrics Scraper](https://apify.com/chronometrica/youtube-metrics-scraper) 是一个 Actor，即托管的数据采集程序。其文档列出的输入包括已知视频 ID 和视频链接。它也支持查找公开频道，但核查本归档文件不需要这项功能。

该 Actor 读取公开视频元数据和指标。指标指公开观看次数、点赞数等计数。它不读取个人观看记录或私密视频，也不采集评论文本，不提供 YouTube Studio 中的展示次数、点击率或观众留存数据。

另建一份已知公开视频 ID 列表，每个 ID 只保留一次。这样既能减少重复的公开信息查询，又能保留每个观看事件。[转录文本语料库指南](/zh-Hans/articles/%E4%BB%8E%E6%90%9C%E7%B4%A2%E7%BB%93%E6%9E%9C%E6%9E%84%E5%BB%BA%E5%AD%97%E5%B9%95%E8%AF%AD%E6%96%99%E5%BA%93/)也将来源中的重复出现与唯一的视频身份分开处理。在这里，不含重复 ID 的列表仅用于可选查询。事件表必须保留重复观看。

如果之后需要视频中的口述文本，请参阅单独的[字幕提取指南](/zh-Hans/articles/youtube-%E6%96%87%E5%AD%97%E7%A8%BF%E6%8F%90%E5%8F%96%E4%B8%8E%E7%BC%BA%E5%A4%B1%E5%AD%97%E5%B9%95%E6%A3%80%E6%9F%A5/)。字幕不能证明你是否看过某个视频，也不能证明观看时间。

## 配置可选的公开信息查询

[youtube-engagement-metrics-tracker Task](https://apify.com/chronometrica/youtube-metrics-scraper/examples/youtube-engagement-metrics-tracker) 提供了一个初始预设。Task 是已保存的 Actor 输入预设。

所提供的证据记录了对 Task 公开页面及其 ID 的核查，核查日期为 2026 年 10 月 25 日。核查未查看需要登录才能访问的已保存设置，也未运行该 Task。

以下小型输入已按照所提供的公开输入规则通过格式检查。JSON 是一种用于表示结构化数据的文本格式。

```json
{
  "maxItems": 1,
  "startUrls": [
    "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  ]
}
```

配置可选的公开信息查询

示例链接仅用于演示输入，并非本方法产生的结果。

1. 使用前检查 Task 设置。
2. 将 `startUrls` 中的整个示例列表替换为你要查询的公开视频 ID 或链接。
3. 本次归档核查请直接使用视频 ID 或视频链接作为输入。
4. 设置 `maxItems`，使其允许输出预期数量的公开结果行。
5. 不要发送私人归档文件或观看事件行。
6. 用一份你能逐项完整检查的小列表运行查询。
7. 单独保存输入、输出和查询时间。

示例中的 `maxItems` 值将输出限制为一行指标。如果列表较大，却仍将其设为一，输出可能无法覆盖整个列表。请将提交的 ID 与结果比对，不要假定运行完成就意味着覆盖了每个预期视频。

以上是建议读者执行的操作。本指南未访问或测试任何私人归档文件，也未进行付费 Actor 运行。文档所述功能适合这项可选的公开信息核查，但这不能证明实际运行性能。

## 附加公开结果，同时保留所有事件

将公开信息输出保存在单独的表格中。原样保留返回值及其状态信息。

| Actor 字段 | 记录内容 |
| --- | --- |
| `inputUrl` | 已提交的输入 |
| `postId` | 返回的视频 ID（如有） |
| `postUrl` | 返回的视频链接（如有） |
| `title` | 当前可获取的视频标题 |
| `publishedAt` | 视频发布时间值 |
| `views`, `likes`, `comments`, `remixes` | 公开计数（如可获取） |
| `postMetricStatus` | 公开视频计数的可用性和精度 |
| `status` | 返回结果的状态 |
| `scrapedAt` | 公开信息采集时间 |

`comments` 字段表示评论数，不是评论文本。缺失的计数应继续标记为不可获取。请保留表示缺失值的 `null`，不要替换为零。同时保留精度信息；经过舍入的公开计数不能在报告中变成精确计数。[Actor 输出规范](https://apify.com/chronometrica/youtube-metrics-scraper)

在这一版表格中，每个已核查的视频 ID 最多选用一条公开观测记录。如果之后再次查询，请另行保存，并说明使用的是哪一次观测记录。

关联是指通过相同的匹配值合并表格。请将选定的公开结果匹配到每个具有该已核查视频 ID 的事件。保留没有匹配结果的事件。如果失败结果没有返回 ID，请保留其提交输入的定位信息，并核查匹配关系。

检查可能导致事件数减少或增加的两类错误：

1. 如果事件数减少，检查是否删除了未匹配的事件。
2. 如果事件数增加，检查是否有多条公开结果匹配到了同一个事件。
3. 确认每个原始事件的定位信息都恰好保留一次。
4. 确认重复观看仍各自占一行。

公开信息查询失败，不能证明视频已删除、已设为私密、受到地区限制或暂时无法访问。除非有其他证据证实原因，否则应将原因保持为待确认。

## 操作示例：三个事件和两个视频 ID

本示例为原创虚构内容。事件标签和查询结果均为教学而编造，并非私人归档记录或 Actor 测试结果。

一份虚构的归档文件记录了视频 A 在 09:00 和 17:00 的观看事件，以及视频 B 在 18:00 的观看事件。这个简化示例没有提供日期或时区。请明确保留这些限制，不要根据这些值计算 UTC 时间。

| 虚构事件 | 视频标签 | 原始时间 | 公开信息查询结果 |
| --- | --- | --- | --- |
| E1 | A | 09:00 | 元数据可获取 |
| E2 | A | 17:00 | 元数据可获取 |
| E3 | B | 18:00 | 元数据不可获取 |

事件表有三行。单独的查询列表包含两个视频 ID：A 和 B。在这次虚构查询中，A 返回了元数据，B 没有返回元数据。

以下计算使用了不同的计数单位：

- A 的 2 个观看事件 + B 的 1 个观看事件 = 3 个观看事件。
- A 的 1 个唯一 ID + B 的 1 个唯一 ID = 2 个唯一视频 ID。
- 1 条元数据可获取的结果 + 1 条元数据不可获取的结果 = 2 条查询结果。
- 关联前的 3 行事件 = 关联后的 3 行事件。

A 的两个事件都附加选定的 A 元数据。B 在 18:00 的事件仍然保留，元数据标记为不可获取。查询失败不会抹去已记录的观看。

报告应写明：记录了三个观看事件和两个唯一视频 ID。这些计数不代表去重后的人数，也不能证明归档文件包含当天的每个观看事件。

如果 B 的公开观看次数缺失，就保留缺失状态。将其写成零次公开观看，是这次虚构查询无法支持的数值结论。

## 核查归档覆盖范围和待确认状态

将申请的数据范围与实际包含的文件进行比对。在可行的情况下，选取部分归档记录，与“我的活动”中你能看到的历史记录比对。记录此次比对所用的账号、所核查的时段和比对日期。

YouTube 说明，关闭观看记录期间观看的视频不会出现在观看记录中。账号所有者也可以手动删除历史记录，或使用自动删除功能。公开视频详情无法重建这些缺失的私人事件。[YouTube 观看记录控制设置](https://support.google.com/youtube/answer/95725?hl=en)

请分别处理不同问题：

| 观察到的状态 | 可以得出的结论 | 下一步核查 |
| --- | --- | --- |
| 缺少预期的观看记录文件 | 预期的归档内容缺失 | 复查所选数据和已下载分卷 |
| 无法确认时间 | 事件时间仍不确定 | 检查原始格式和来源时区 |
| 缺少视频 ID | 事件缺少经过核查、可用于查询的视频标识 | 保留事件并检查其来源 |
| 已知 ID 尚未提交 | 尚未进行公开信息查询 | 仅在需要元数据时提交 |
| 公开信息查询失败 | 当前元数据仍待确认 | 保留结果，不猜测原因 |
| 预期时段没有记录 | 覆盖范围待确认 | 比对归档范围与账号所有者可见的历史记录 |

某个时段没有记录，不能证明该时段的观看次数为零。最早一行的时间很久远，也不能证明历史记录完整。解析成功只能证明处理过程读取了文件，不能证明 Google 提供了过去的每个事件。

确认表格可用之前，请核实所有归档分卷均已核对，原始值保持不变，时间问题仍有明确标记，并且每个保留的来源事件都在关联公开结果后继续保留。请将归档缺口与查询失败分开报告。

## 选择下一步操作

先完成私人归档文件的核查。保存申请的数据范围、保留的事件数、重复观看次数、时间问题，以及发现的覆盖缺口。将结果表述为该归档文件中记录的观看事件。

如果这些记录已能回答你的问题，请保留核查后的表格和未经修改的源文件。如果当前的公开视频详情有帮助，请查看 [Chronometrica YouTube Metrics Scraper](https://apify.com/chronometrica/youtube-metrics-scraper)，替换示例输入，并用一份不含重复视频的小列表进行查询。将结果附加到每个匹配的事件上，同时保留未匹配的事件。

如果覆盖范围仍不确定，请说明缺失的时段或记录类型，以及你做过的核查。在最终结果中保留这些不确定性。

## 来源和延伸阅读

- [Google 账号帮助：下载数据——于 2026 年 10 月 25 日核查；提供归档申请和导出限制的依据，不保证历史记录完整](https://support.google.com/accounts/answer/3024190?hl=en-GB)
- [YouTube 帮助：观看记录及其控制设置——于 2026 年 10 月 25 日核查；提供关闭观看记录、删除和自动删除相关限制的依据](https://support.google.com/youtube/answer/95725?hl=en)
- [Chronometrica YouTube Metrics Scraper——于 2026 年 10 月 25 日核查公开规范；仅涉及公开元数据，未访问私人观看记录，也未进行付费运行测试](https://apify.com/chronometrica/youtube-metrics-scraper)
- [YouTube Metrics Scraper 默认构建版本的数据结构定义——于 2026 年 10 月 25 日核查构建版本 1.1.2；示例输入通过了格式验证，未进行执行测试](https://api.apify.com/v2/acts/cykekv5MVPOSaBpoP/builds/default)
- [youtube-engagement-metrics-tracker Task——于 2026 年 10 月 25 日核查公开页面及 ID；未测试需要登录才能访问的设置，也未测试执行](https://apify.com/chronometrica/youtube-metrics-scraper/examples/youtube-engagement-metrics-tracker)
- [账号所有者关于 Takeout 导出不完整的公开提问——于 2026 年 10 月 25 日查阅；仅为一次缺口报告，没有确切发布日期或经过验证的恢复方法](https://www.reddit.com/r/youtube/comments/1p0emm6/how_to_export_my_full_youtube_history/)