

# 如何查找已保存的 YouTube 播放列表中不可用或缺失的视频

要查找 YouTube 播放列表中不可用或缺失的视频，请将自己保存的播放列表清单与已知视频 ID 的检查结果进行比较。清单是已保存的播放列表条目列表。先使用所有者账号，并在视频页面上查看情况不明的条目。保留记录中的每个位置，包括重复出现的视频。公开查询失败，并不能证明视频已设为私享或已被删除。如果没有较早保存的清单，仅凭当前视图无法确定哪些旧条目已经消失。

这项工作的实用成果是一份核查记录：保存比较结果，让已核查条目、明确的不可用提示和未解决条目都清楚可见。它无法恢复已删除或私享的视频内容，也不要求你移除或替换条目。

## 从自己已有的播放列表记录开始

首先要确定的不是哪个工具能找到更多视频，而是哪份已保存的记录包含你要检查的播放列表条目。

使用自己已有的导出文件或清单。导出文件是从某个来源保存下来的记录副本。保持原始文件不变。在另一份副本中操作，避免后续检查覆盖早期证据。

私下记录以下信息：

1. 与该记录关联的所有者账号。
2. 播放列表名称和播放列表 ID，如有。
3. 保存该记录的日期。
4. 文件格式和源文件名。
5. 记录的覆盖范围，包括已知缺漏。
6. 来源是否保留了位置和重复条目。

ID 是用于区分不同记录的标识符。播放列表 ID 标识播放列表，视频 ID 标识视频。它们都不同于播放列表内某个条目的 ID。

如果没有已保存的清单，请先记录这一限制，再继续操作。你可以检查当前条目，并保存能看到的证据。但仅凭当前视图，无法列出检查前已经消失的所有视频。

读者遇到的问题是：已删除或私享的条目被隐藏。此方法不要求你的账号中必须有某个特定的显示控件。请检查所有者视图实际显示的内容。对仍然存在的缺漏保留说明，不要假定可见列表包含此前的所有条目。

## 区分播放列表条目与视频

播放列表条目是一条将视频与播放列表关联起来的记录。同一个视频可以出现在已保存记录中的多个位置。核查时，必须分别保留这些位置。

YouTube 官方的 `playlistItem` 资源说明了这一差别。该资源有自己的 ID、播放列表 ID、位置和视频 ID。它的 `snippet.publishedAt` 时间表示该条目加入播放列表的时间，不是视频的发布时间。这里引用的是数据结构说明，并不证明本次研究导出过所有者的私享播放列表。[YouTube PlaylistItems 参考文档——核对日期：2026 年 10 月 25 日；仅涉及资源结构](https://developers.google.com/youtube/data/reference/rest/v3/playlistItems)。

数据结构定义记录中的字段。请用官方数据结构说明来理解来源中实际包含的字段。不要假定已保存的文件包含该结构中的每个字段。

创建条目表，每个原始条目各占一行：

| 保存字段 | 应保留的内容 |
| --- | --- |
| 源文件和行号 | 用于定位原始条目的引用信息 |
| 播放列表 ID | 已保存的播放列表标识符，如有 |
| 条目 ID | 已保存的条目标识符，如有 |
| 已保存的位置 | 与原记录完全一致的位置 |
| 视频 ID | 已知的视频标识符，如有 |
| 已保存的标题 | 早期标题证据，如有 |
| 条目加入日期 | 记录中的加入日期，如有 |
| 来源备注 | 已知缺漏和字段含义 |

这些是建议设置的核查列，并不表示指标采集 Actor 会返回这些字段。

如果来源没有条目 ID，请保留源文件和行号信息。如果缺少视频 ID，请保留该行，并将其标为未解决。不要因为无法进行公开查询就删除该条目。

将已保存的标题与当前标题分开保留。将条目加入日期与视频发布日期分开保留。未知日期仍应记为未知。不能用今天的检查日期填补旧记录中的未知日期。

即使之后对工作视图进行排序，也要保留已保存的位置。按当前标题或视频发布日期排序时，不得覆盖原始顺序。

## 按八个步骤完成核查

### 1. 明确要检查的清单

说明本次核查针对哪份已保存的播放列表记录。在采集当前数据前，统计其中的条目行数。这就是该记录的预期条目数。

如果记录只覆盖播放列表的一部分，请明确说明。即使比较过程正确，对部分记录的核查仍然只是局部核查。它无法确定播放列表此前的全部内容。

### 2. 保留每一行条目

将来源字段复制到工作条目表中。检查行数是否仍与源记录一致。

保留重复的视频 ID。重复 ID 不代表多了一个不同的视频，但每次出现仍是一个独立的播放列表条目。缺少 ID、标题或日期的行也要保留。

### 3. 单独创建不重复的视频 ID 列表

创建第二张表，每个不同的已知视频 ID 各占一行。这份列表用于公开元数据检查。元数据是描述性数据，例如标题或发布日期。

在第一张表中保留原始条目。只在第二张表中去除重复 ID。记录每个不重复 ID 对应哪些条目行。

此任务应以已知视频作为输入。公开频道发现功能的范围不同，不能据此确定视频是否属于已保存的播放列表。[YouTube 频道数据集指南](/zh-Hans/articles/chronometrica-%E4%B8%8E-streamers-shorts-%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9-youtube-%E9%A2%91%E9%81%93%E6%95%B0%E6%8D%AE%E9%9B%86/)说明了这一独立的采集范围。

### 4. 测试一个已知视频输入

先从不重复 ID 列表中选择一个相关视频。使用下方的小规模 Actor 输入。Actor 是托管运行的数据采集程序。Task 是为该程序保存的输入预设。

添加更多 ID 前，先查看结果。检查返回的视频身份和状态。仅凭一次运行已完成，不能证明目标视频提供了有用的数据。

### 5. 将结果关联到原始条目

将每条已接受的结果与完全一致的视频 ID 匹配。然后将结果关联到具有该 ID 的每个条目。这种操作称为连接，即通过共同的标识符关联数据行。

即使没有匹配结果，也要保留原始条目行。结果表不能取代已保存的播放列表记录。

### 6. 直接查看未解决的条目

使用所有者账号打开相关播放列表。在条件允许时，查看已知视频的页面和来源播放器。如果出现明确可见的原因，请记录下来。

保留原因的原文、来源、检查时间和所用账号等背景信息。如果来源没有给出明确原因，就让该条目保持未解决状态。不要仅凭一般的查询失败就选定某个原因。

### 7. 核对数量

核对数量，就是检查已保存的条目总数与各类核查结果的合计是否一致。请分别统计条目数和不重复的视频 ID 数。

每个原始条目都必须有一个核查状态。重复视频仍须保留在各自的原始条目行中。下方的数量检查说明了确认方法。

### 8. 保存核查记录，并确定哪些内容需要复查

将原始清单、工作条目表、不重复 ID 检查表和证据备注保存在一起。复核后，将核查记录设为只读。

不要自动移除或替换播放列表条目。是否再次查看未解决的条目，或手动修改播放列表，应另行决定。

## 使用指标采集 Actor 检查已知的公开视频

[Chronometrica YouTube Metrics Scraper](https://apify.com/chronometrica/youtube-metrics-scraper) 的文档说明，它能根据已知视频输入采集公开视频的元数据和指标。指标是数值形式的度量，例如观看次数。这一文档所述范围适合核查流程中的公开检查阶段，但不代表该 Actor 是完整的播放列表导出工具。

公开功能约定还支持限定范围的频道发现功能。该功能无法证明哪些视频属于你已保存的播放列表。使用本方法时，请提供已知视频 ID 或视频的直接 URL。URL 即网址。

以下小规模输入已通过静态数据结构校验。该校验只评估输入结构，没有执行数据采集：

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

使用指标采集 Actor 检查已知的公开视频

将示例 URL 替换为你要检查的一个已知视频 URL。示例地址仅用于展示输入结构，不能证明它会为你的播放列表提供有用结果。

`startUrls` 字段保存所提供的输入。`maxItems` 字段限制整次运行返回的指标数据总行数。这里将上限设为 1，适合首次检查一个视频。它不能完成包含多个不重复 ID 的清单检查。后续批量检查前，请设置合适的上限，并逐一核对所有目标 ID。

不要粘贴一个播放列表 URL，就认定工具保证能导出其中的全部条目。已冻结的功能约定不支持这一说法。

你也可以打开公开的 [youtube-engagement-metrics-tracker Task](https://apify.com/chronometrica/youtube-metrics-scraper/examples/youtube-engagement-metrics-tracker)。使用前请替换示例输入。研究于 2026 年 10 月 25 日找到了该页面和 Task ID，但未检查需要身份验证才能查看的已保存输入，也未检查其执行情况。

该 Actor 读取公开数据，不读取仅所有者可见的播放列表记录或私享视频。它无法恢复私享或已删除的内容。文档列出的公开指标字段包括评论数，但这不表示它会采集评论记录。这些限制来自已核对的功能约定，而非实际运行测试。[Chronometrica Actor 功能约定——核对日期：2026 年 10 月 25 日；公开默认构建版本的数据结构和 README，未进行付费运行](https://apify.com/chronometrica/youtube-metrics-scraper)。

## 保存结果，同时保留缺漏

为不重复的视频 ID 单独保留一张检查表。即使结果不明确，也要保留每次尝试的输入。

| 保存字段 | 用途 |
| --- | --- |
| 目标视频 ID | 将本次尝试与已保存的清单关联 |
| `inputUrl` | 保留提交的来源地址 |
| `postId` | 检查返回的视频身份 |
| `postUrl` | 保留返回的视频地址 |
| `title` | 单独保留当前标题证据 |
| `publishedAt` | 保留视频发布时间 |
| `status` | 保留返回结果的状态 |
| `scrapedAt` | 保留采集时间 |
| `postMetricStatus` | 保留指标是否可用及其精度详情 |
| 核查状态和备注 | 记录依据证据作出的判断 |

最后一行描述的是你自行设置的核查列。不要将这些列说成 Actor 的输出。

接受匹配结果前，先检查 `postId`。不要按标题相似度进行连接。如果结果中没有明确匹配的视频身份，请保留此次尝试并进一步检查。

缺失值仍应保留为缺失值。缺少标题不能证明视频已被删除。观看次数不可用，不等于观看次数为零。返回零值与数值缺失的含义不同。

已确认的元数据结果仍可能包含不可用的指标。不要仅因某个可选计数字段缺失，就将播放列表条目标为未解决。请结合视频身份、返回状态和现有证据作出判断。

同样，元数据结果不能证明你已播放该视频。如果播放情况很重要，请另行检查播放器，并记录该次检查的时间和背景信息。这项核查不会让元数据查询变成视频可用性测试。

## 用明确的状态区分查询失败与直接证据

请在自己的核查记录中使用以下状态。它们是工作标签，不是 Actor 文档规定的状态值。

| 核查状态 | 所需证据 | 计数方式 |
| --- | --- | --- |
| 当前已核查 | 已接受与已知 ID 匹配的公开元数据 | 计入已核查条目 |
| 明确不可用 | 直接来源显示明确的不可用原因 | 计入已核查条目，并保留原因 |
| 未解决 | 缺少 ID、结果不明，或没有直接说明 | 计入未解决条目 |

统计时，已核查条目包括当前已核查的条目，以及有明确不可用证据的条目。同时也要分别报告这两组的数量。

明确原因只适用于记录中的检查情境。请保留这些背景信息。不要将特定账号或特定时间下的观察结果，扩大为适用于所有观看者或今后所有检查的结论。

仅凭公开查询失败，无法区分私享、已删除、地区限制或临时限制。Actor 功能约定说明了这一限制。请保留返回状态作为证据，但不要将其改写为更具体的原因。[Chronometrica Actor 功能约定——核对日期：2026 年 10 月 25 日；文档所述的失败判断限制，未进行运行测试](https://apify.com/chronometrica/youtube-metrics-scraper)。

如果后续检查提供了更充分的证据，请新增一条带日期的结果，并保留早期观察记录。后续查询成功可以解决当前缺漏，但不一定能解释早先尝试失败的原因。

找回标题也不等于恢复原始内容。如果下一项任务需要获取某个已知视频的字幕，请使用独立的 [YouTube 转录文本与字幕缺失指南](/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/)。不要将字幕证据纳入播放列表条目归属的判断。

## 逐步分析一个原创虚构示例

本例为原创虚构示例。ID、条目和结果均为虚构。它既不描述导出测试，也不描述视频可用性测试。

一份已保存的清单有三个条目：

| 已保存的位置 | 视频 ID | 公开元数据检查 | 核查状态 |
| --- | --- | --- | --- |
| 1 | A | 返回了与 A 匹配的结果 | 当前已核查 |
| 2 | B | 没有已接受的结果，也没有直接说明 | 未解决 |
| 3 | A | 将同一条匹配结果关联到此条目 | 当前已核查 |

不重复 ID 列表包含 A 和 B。虚构的查询返回了与 A 匹配的结果，但未解决 B。将 A 的结果关联到位置 1 和 3。不要将这两个位置合并为一行。

条目数量的计算如下：

3 个预期条目 = 2 个已核查条目 + 1 个未解决条目。

视频身份数量另行统计：

2 个不重复的视频 ID = 1 个已解决的不重复视频 ID + 1 个未解决的不重复视频 ID。

这里有三个条目，而不是三个不同的视频。有两个已核查条目，而不是两个分别得到确认的视频 ID。这些数字统计的是记录，不是人数。

本例中，没有关于 B 不可用的明确原因。因此，明确不可用的条目数为零。这个零只表示该证据类别的数量，并不表示 B 可用、已删除或已设为私享。

下一步是在所有者的播放列表和来源播放器中查看 B。在直接证据解释结果之前，该条目仍为未解决。位置 1、2 和 3 都保留在核查记录中。

## 检查完成后的核查记录

接受报告前，请完成以下检查：

1. 确认每个原始条目行都仍然存在。
2. 确认已保存的位置和重复条目保持完整。
3. 确认缺少视频 ID 的行仍保留为未解决条目。
4. 确认使用视频 ID 进行连接，且没有丢弃未匹配的条目。
5. 确认条目加入日期、视频发布日期和检查时间仍分别保留。
6. 确认每个具体的不可用原因都有直接证据。
7. 确认没有将缺失的指标值改为零。
8. 确认预期条目数等于已核查条目数加未解决条目数。
9. 分别报告不重复的视频 ID 数和条目数。
10. 说明清单的覆盖范围和所有剩余缺漏。

报告应让其他读者能将每项判断追溯到已保存的条目及其证据。总数一致只能验证数量核对无误，不能证明原始清单覆盖了整个播放列表。

## 开始下一步

先从一份已保存的播放列表记录和一个已知视频 ID 开始。首先保留条目表。使用所有者账号查看情况不明的条目。然后使用 [Chronometrica YouTube Metrics Scraper](https://apify.com/chronometrica/youtube-metrics-scraper) 进行小规模的公开元数据检查。

确认视频身份匹配、保留的字段和计数方法后，再扩大检查范围。始终保留未解决的条目。使用来源中的明确证据说明条目不可用的原因。后续如需移除或替换条目，应另行作出人工决定。

## 来源和延伸阅读

- [YouTube Data API：PlaylistItems——核对日期：2026 年 10 月 25 日；条目字段和日期含义，并非私享播放列表导出的证据](https://developers.google.com/youtube/data/reference/rest/v3/playlistItems)
- [Chronometrica YouTube Metrics Scraper——核对日期：2026 年 10 月 25 日；公开默认构建版本的数据结构和 README，未进行付费运行或运行健康测试](https://apify.com/chronometrica/youtube-metrics-scraper)
- [youtube-engagement-metrics-tracker Task——核对日期：2026 年 10 月 25 日；公开页面和 Task ID 均存在，未测试已保存的输入及执行情况](https://apify.com/chronometrica/youtube-metrics-scraper/examples/youtube-engagement-metrics-tracker)
- [Reddit 播放列表问题——发表于 2026 年 5 月 26 日，观察于 2026 年 10 月 25 日；仅代表一位读者的问题，不能证明市场需求或工具性能](https://www.reddit.com/r/youtube/comments/1toj1zs/option_to_show_unavailable_videos_in_playlists/)