如何通过YouTube REST API正确上传字幕?Postman调用问题求助
正确的YouTube字幕上传API调用方案
关键前提
上传字幕必须使用multipart/form-data格式,因为要同时传递元数据(snippet)和字幕文件,纯JSON请求无法携带文件,必然报错。
正确curl命令示例
curl --location 'https://www.googleapis.com/youtube/v3/captions?part=snippet' \ --header 'Authorization: Bearer xxx.yyy.zzz' \ --form 'snippet="{\"language\":\"fr\",\"name\":\"French captions\",\"videoId\":\"flz-udcavwE\",\"isDraft\":false}"' \ --form 'caption=@"/绝对路径/到/你的/captions.sbv"'
你之前的问题解析
- Raw JSON请求:该接口上传场景必须携带字幕文件,纯JSON请求无文件字段,所以触发"缺少字幕文件"错误,此方式不适用上传操作。
- FormData请求的错误:
- JSON字符串未正确转义引号,导致API无法解析元数据
- 元数据嵌套了多余的
snippet层级(正确结构是直接传snippet对应的JSON对象,无需再套一层snippet键) - 命令中误用
&分隔键值对,应该用:
Postman可视化操作步骤
- 请求方法选
POST,URL填入https://www.googleapis.com/youtube/v3/captions?part=snippet - Headers栏添加
Authorization: Bearer 你的有效访问令牌 - Body切换为
form-data类型,添加两个字段:- 字段名:
snippet,类型选Text,值填入:{"language":"fr","name":"French captions","videoId":"flz-udcavwE","isDraft":false} - 字段名:
caption,类型选File,选择本地的字幕文件(支持.sbv/.srt/.vtt等格式)
- 字段名:
内容的提问来源于stack exchange,提问作者n8ninja n8ninja
相关产品推荐
相关产品推荐

