调用YouTube API下载字幕返回404错误(字幕ID有效)
YouTube API获取字幕返回404错误(已确认VideoID有效且配额充足)
我通过YouTube API先获取到了字幕ID,但在Data API测试平台下载字幕时返回404错误。已确认VideoID有效,API调用配额也充足。预期能获取视频字幕,实际得到404错误。获取到的字幕列表响应如下:
{ "kind": "youtube#captionListResponse", "etag": "QkF_mmYVO0qgPorsWCgqGMfBq4I", "items": [ { "kind": "youtube#caption", "etag": "KWo4Fw_AkcqatZQPtEPAyL9GjTA", "id": "AUieDaYwCH-aK1B9dvk6ijD2k6khwqIeu_o-r5udRWYei9KQrDQ", "snippet": { "videoId": "ZGMg4okOWWM", "lastUpdated": "2024-01-19T07:15:24.347791Z", "trackKind": "asr", "language": "hi", "name": "", "audioTrackType": "unknown", "isCC": false, "isLarge": false, "isEasyReader": false, "isDraft": false, "isAutoSynced": false, "status": "serving" } } ] }
可能的原因及解决方法
- 核对字幕ID准确性:确保下载请求里的字幕ID和响应返回的
id字段完全一致,别出现拼写错误、多余空格或者特殊字符转义失误。 - ASR字幕的访问限制:从响应能看到这是自动语音识别(ASR)生成的字幕,这类字幕有时候即使状态显示
serving,也可能存在访问权限限制,导致API无法下载。可以先手动打开视频页面,看看这个字幕能不能正常显示,如果页面也加载不了,说明字幕本身有问题。 - 检查API权限范围:确认你的API密钥或OAuth令牌拥有
https://www.googleapis.com/auth/youtube.force-ssl或https://www.googleapis.com/auth/youtube.readonly的权限,权限不足也会触发404错误。 - 验证测试平台的请求结构:在API测试平台里,确认请求URL是
https://www.googleapis.com/youtube/v3/captions/{captionId},并且正确添加了key参数(API密钥),或者已经完成OAuth认证。 - 排查地域访问限制:部分视频字幕会有地域限制,哪怕能拿到字幕ID,当前区域也无法下载。可以试试切换到对应字幕语言区域的网络环境再测试。
内容的提问来源于stack exchange,提问作者DeadlyDuck
相关产品推荐
相关产品推荐

