Youtube api 下载字幕总是返回403

Youtube api 下载字幕总是返回403,youtube-api,youtube-data-api,Youtube Api,Youtube Data Api,当我调用captions.download端点时,该端点的ID是我们从captions.list端点检索到的,它总是返回403。例如: 我调用标题。列出带有以下内容的: GEThttps://www.googleapis.com/youtube/v3/captions?part=id&videoId=1HRwpwOj4aA&key={YOUR_API_KEY} 以下是回应: cache-control: private, max-age=0, must-revalidate, no-tran

当我调用
captions.download
端点时,该端点的ID是我们从
captions.list
端点检索到的,它总是返回403。例如:

我调用
标题。列出带有以下内容的

GEThttps://www.googleapis.com/youtube/v3/captions?part=id&videoId=1HRwpwOj4aA&key={YOUR_API_KEY}

以下是回应:

cache-control:  private, max-age=0, must-revalidate, no-transform
content-encoding:  gzip
content-length:  236
content-type:  application/json; charset=UTF-8
date:  Sat, 23 May 2015 17:55:57 GMT
etag:  "dhbhlDw5j8dK10GxeV_UG6RSReM/Rztb3ln4Zb6O07vb7_KSZi2y1NM"
expires:  Sat, 23 May 2015 17:55:57 GMT
server:  GSE
vary:  Origin, X-Origin

{
 "kind": "youtube#captionListResponse",
 "etag": "\"dhbhlDw5j8dK10GxeV_UG6RSReM/Rztb3ln4Zb6O07vb7_KSZi2y1NM\"",
 "items": [
  {
   "kind": "youtube#caption",
   "etag": "\"dhbhlDw5j8dK10GxeV_UG6RSReM/pwH-4wtyQJz0U3l57fA8uKm4e1I\"",
   "id": "kHlUsiuNS4TjB25loauZNXGrjK91I1tEdNyOpTRNA78="
  }
 ]
}
403 Forbidden
cache-control:  private, max-age=0
content-encoding:  gzip
content-length:  29
content-type:  text/html; charset=UTF-8
date:  Sat, 23 May 2015 17:59:05 GMT
expires:  Sat, 23 May 2015 17:59:05 GMT
server:  GSE
vary:  Origin, X-Origin

Forbidden
当我使用上述id调用captions.download时:

GEThttps://www.googleapis.com/youtube/v3/captions/kHlUsiuNS4TjB25loauZNXGrjK91I1tEdNyOpTRNA78%3D?key={YOUR_API_KEY}

以下是回应:

cache-control:  private, max-age=0, must-revalidate, no-transform
content-encoding:  gzip
content-length:  236
content-type:  application/json; charset=UTF-8
date:  Sat, 23 May 2015 17:55:57 GMT
etag:  "dhbhlDw5j8dK10GxeV_UG6RSReM/Rztb3ln4Zb6O07vb7_KSZi2y1NM"
expires:  Sat, 23 May 2015 17:55:57 GMT
server:  GSE
vary:  Origin, X-Origin

{
 "kind": "youtube#captionListResponse",
 "etag": "\"dhbhlDw5j8dK10GxeV_UG6RSReM/Rztb3ln4Zb6O07vb7_KSZi2y1NM\"",
 "items": [
  {
   "kind": "youtube#caption",
   "etag": "\"dhbhlDw5j8dK10GxeV_UG6RSReM/pwH-4wtyQJz0U3l57fA8uKm4e1I\"",
   "id": "kHlUsiuNS4TjB25loauZNXGrjK91I1tEdNyOpTRNA78="
  }
 ]
}
403 Forbidden
cache-control:  private, max-age=0
content-encoding:  gzip
content-length:  29
content-type:  text/html; charset=UTF-8
date:  Sat, 23 May 2015 17:59:05 GMT
expires:  Sat, 23 May 2015 17:59:05 GMT
server:  GSE
vary:  Origin, X-Origin

Forbidden

知道这里会发生什么吗?

403禁止状态意味着任何人都无权访问该URL。例如,如果您有错误的API密钥,则不应收到该消息;这应该是401状态未经授权。我会仔细检查网址

来自:

403禁止:与请求相关联的权限不可用 足以下载字幕曲目。请求可能不正确 正确授权,否则视频订单可能未启用 此标题的第三方贡献


你上面写的“只适用于你的谷歌账户拥有的视频”不是我的经验。我刚刚成功地运行了字幕。下载了一个视频(关于狗的训练),我肯定没有自己的-甚至没有狗。然而,我在上面提到的视频上测试了完全相同的代码,得到了403错误

所以它并不总是返回403,有时它返回200!用上面提到的狗视频试试看:

python captions.py --videoid="=jBN2_YuTclU" --action="download" --captionid='8S2GjnNfitU5HHoLyTeLxq_W1dP29YRFC8E8vFBUtws='
使用您可能已经拥有的代码

它需要从Google认证页面的某处下载您的
client\u secrets.json
,以及您可以从中获取的缺少文件
youtube-v3-api-captions.json
。代码将启动一个浏览器,您可以在其中登录以获得OAuth2授权


尽管如此,它对某些视频有效,而对其他视频无效,这肯定是有原因的@阿披舍克可能有它上面。错误的评论在那里被提高了投票率。
字幕的输出中没有任何内容。列出允许字幕下载的视频和不允许字幕下载的视频的
,这可以解释为什么其中一个有效,而另一个无效。如果任何人可以在youtube api控件中提供哪个
{'key':'value'}
对,这将很有帮助。

相反,有时返回403(如果视频未启用此标题的第三方贡献),您可以使用从youtube团队获得一些反馈,显然,captions.download端点只适用于您的google帐户拥有的视频。它不可用于其他视频。如果视频所有者为标题启用第三方贡献,则可以获取标题。例如:-尝试使用此id:TQXDNLAMG84O4BX0Q2OAHZ4NFWZDYIZMORCUWSLYPC=您无法再启用第三方字幕贡献。如果没有它们,您将得到403“与请求相关联的权限不足以下载字幕曲目。请求可能没有得到正确授权,或者视频订单可能没有为此字幕启用第三方贡献。”