You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用YouTube API上传视频:MP4文件路径位置及400错误排查

YouTube视频上传接口问题解答

核心问题说明

你不能在snippet字段里填写本地MP4文件路径——YouTube的videos.insert接口不支持通过JSON请求体传递视频文件,这也是你收到400错误的主要原因之一。

正确的上传方式

视频上传需要使用multipart/form-data格式的POST请求,请求包含两部分核心内容:

  • 二进制的视频文件本身(作为表单的file字段,需读取本地文件的二进制数据流上传,而非填写路径字符串)
  • 描述视频元数据的JSON内容(即你当前编写的snippet和status结构,作为表单的独立字段)

错误细节修正

除了文件上传方式错误,你的请求还有一处格式问题:

  • tags字段要求是字符串数组,每个标签需单独作为数组元素,而非将所有标签合并在一个字符串中:
    错误写法:
    "tags": ["музыка, song, classic"]
    
    正确写法:
    "tags": ["музыка", "song", "classic"]
    

示例请求结构(伪代码)

POST https://youtube.googleapis.com/youtube/v3/videos?part=snippet,status&access_token=[你的令牌]&key=[你的API密钥]
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="你的视频文件.mp4"
Content-Type: video/mp4

[本地MP4文件的二进制内容]
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="snippet"

{
  "categoryId": "22",
  "description": "Description of uploaded video.",
  "title": "Test video upload.",
  "tags": ["музыка", "song", "classic"],
  "defaultLanguage": "ru",
  "thumbnails": {
    "default": {
      "url": "url of jpg image"
    }
  }
}
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="status"

{
  "privacyStatus": "private",
  "license": "youtube"
}
------WebKitFormBoundary7MA4YWxkTrZu0gW--

400错误的原因总结

  1. 未通过multipart/form-data格式传递视频文件,仅发送了元数据JSON
  2. tags字段格式不符合接口要求

内容的提问来源于stack exchange,提问作者Mikhail Eliseev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 09:23:07