近日,多名开发者和技术用户反映,YouTube 的 InnerTube API 在返回评论回复数据时,出现了连续性标识符(即“continuation tokens”)缺失的现象。尽管页面中明显存在多条可见的评论回复(replies),但 API 响应中却未能提供用于分页获取更多回复内容的 token,导致第三方客户端、数据抓取工具以及部分自动化分析功能无法正常加载或遍历完整的评论回复链条。
问题现象:可见却不可取
根据多位用户在 GitHub、Reddit 以及开发者论坛上发布的反馈,该问题主要集中在 YouTube 视频评论区中嵌套的“回复”部分。通常情况下,每条评论下方的回复列表会通过一个“加载更多回复”按钮(或自动滚动加载)来呈现,对应的 API 请求会返回一个名为“continuation”的令牌(token),用于向后端请求后续的回复页面。然而,自最近一次 YouTube 后端更新后,部分视频的回复数据在 API 响应中已经不再包含该令牌。
具体表现为:当使用 InnerTube API(通常通过 next 端点或 browse 端点)获取评论列表时,对于每条评论的 replies 字段,虽然 replyCount 数值正确(例如显示有 10 条回复),但 replies.replies 数组中实际只包含了一条或部分回复,并且缺少关键的 continuationToken(或 nextContinuationToken)属性。这意味着第三方应用无法在本地发起后续请求,只能看到 API 返回的有限几条回复,而无法翻页获取完整的回复树。
“我们追踪了超过 200 个热门视频,发现大约有 15% 的评论回复出现了 token 缺失的情况,尤其是那些回复数量超过 20 条的视频,”一位匿名开发者向本刊透露,“更奇怪的是,这些缺失 token 的回复在 YouTube 网页版和移动端 App 中都可以正常展开和浏览,说明 YouTube 服务器端是拥有完整数据的,只是 API 接口没有按预期返回令牌。”
影响范围:第三方工具与开发者首当其冲
这个问题主要影响以下几种场景:
- 第三方 YouTube 客户端(如 NewPipe、Vanced 后继项目等):这些应用依赖 InnerTube API 的公共接口来获取评论和回复数据,缺少 continuation token 会导致“加载更多回复”功能失效,用户只能看到最开始显示的 1-2 条回复。
- 数据分析与内容审核工具:许多研究机构、媒体监测公司以及内容创作者使用脚本批量抓取 YouTube 评论数据进行舆情分析、内容审查或竞品研究。缺失 token 将导致无法完整获取回复链,从而影响数据的准确性和完整性。
- 社区管理机器人:自动回复、举报或关键信息提取的机器人如果无法遍历全部回复,可能错过违规内容或用户重要反馈。
- YouTube Data API v3 用户:部分用户反映,YouTube 官方的 Data API(非 InnerTube 直连)也存在类似问题,尤其是通过
comments.list接口查询回复时,replies字段下的分页信息有时会丢失,但出现频率相对较低。
背后的技术推测与 YouTube 的沉默
截至发稿时,YouTube 官方(Google)尚未就该问题发布任何声明或公告。在 Google Issue Tracker 上,虽然已有数个相关报告被提交,但状态仍为“未分配”或“待确认”。
有分析认为,这可能是 YouTube 后端在进行 API 重构或优化时引入的 bug。InnerTube 是 YouTube 内部使用的私有 API 协议,近年来被大量第三方应用逆向工程后使用。YouTube 并没有正式支持 InnerTube 的公开文档,因此随时可能对其进行非侵入式调整以限制第三方使用。另一种可能性是,此次问题与近期 YouTube 测试的新评论排序算法(如“Top”、“Newest”之外的“Relevance”)有关,新的排序逻辑可能改变了分页 token 的生成方式,导致部分旧版 token 格式不再被返回。
“无论是 bug 还是有意为之,缺少官方文档和直接支持使得开发者只能通过抓包对比网页行为与 API 行为来调试,”资深逆向工程师李伟(化名)表示,“如果不能尽快修复,我们可能需要修改整个分页逻辑,比如改用网页端请求的 cookie 或 session 信息来绕过,但这又涉及反爬机制的风险。”
用户反应:自由与便利的权衡
在社交媒体上,部分普通用户也注意到了这个问题,尤其是那些习惯使用第三方客户端以获得无广告、后台播放等体验的用户。有用户表示:“YouTube 官方的 App 越来越臃肿,广告也多,第三方客户端是很多人的选择。如果 API 坏了,这些客户端就废了一半。”
但也有声音认为,YouTube 作为商业平台,本就不鼓励第三方绕过官方 API 获取数据,InnerTube 的封闭性是其正当权利。“开发者和用户需要认识到,使用未公开接口总是伴随风险。YouTube 没有义务保证这些接口的稳定性。”
展望:修复或替代方案
目前,开发者社区正在尝试多种应对方案:一是通过模拟网页端完整的 HTTP 请求头(包括 cookies、User-Agent 等)来获取正确 token;二是改用 YouTube 官方 Data API(虽有限额但相对稳定);三是探索其他非官方数据源的索引方法。
YouTube 是否会修复这一问题尚不明朗。考虑到 Google 一贯的沉默策略,以及今年来对第三方工具态度的趋严(如针对 Vanced 的封杀),本次 token 缺失事件很可能会持续下去,迫使开发者加速寻找更长期的替代技术路径。无论结果如何,它都再次揭示了依赖单一大型平台非公开接口的脆弱性——一旦被切断,理想化的自由工具生态便会面临生存危机。