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

Youtube API Search接口videoCaption参数无效问题求助

YouTube Data API v3 search.list 请求报400错误的解决办法

问题重现

你提供的第一个请求可正常执行:

GET https://youtube.googleapis.com/youtube/v3/search?maxResults=1&q=test&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json

但添加part=snippet和videoCaption=closedCaption参数后的第二个请求返回400无效参数错误:

GET https://youtube.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&q=test&videoCaption=closedCaption&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json

错误详情:

{
  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "errors": [
      {
        "message": "Request contains an invalid argument.",
        "domain": "global",
        "reason": "badRequest"
      }
    ],
    "status": "INVALID_ARGUMENT"
  }
}

问题原因

videoCaption参数仅适用于视频类型的搜索结果,但默认情况下search.list会返回多种类型的内容(视频、频道、播放列表等)。当API尝试对非视频类型的结果应用videoCaption筛选规则时,就会触发参数无效的错误。

解决方案

在请求URL中添加type=video参数,明确指定只搜索视频内容,这样videoCaption参数就能正常生效。

修正后的请求示例:

GET https://youtube.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&q=test&videoCaption=closedCaption&type=video&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json

补充说明:第一个请求能正常运行,是因为它没有使用videoCaption这种类型受限的参数,即使返回非视频结果也不会报错。part=snippet参数本身是合法的,问题核心是videoCaption和未指定搜索类型的冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 17:45:11