php - 无法在 Youtube API v3 中下载隐藏式字幕

标签 php youtube-api google-api-php-client closed-captions youtube-data-api

我正在使用 Youtube API v3 中给出的 PHP 示例代码:https://developers.google.com/youtube/v3/docs/captions/download , 从第 3 方下载字幕,在我的网络应用程序中公开可用的 YouTube 视频,即我没有在 Youtube 上上传内​​容。

我可以访问字幕轨道的列表,但无法使用接收到的列表中的字幕轨道 ID 下载字幕。

尝试下载时出现的错误是:

Error calling GET https:// www.googleapis.com/youtube/v3/captions/Lw0e5xDNU17GFafOl8DcyeOtwzWJTf9V?tfmt=srt&alt=media: (404) Not Found

(我已经尝试删除 tfmt(可选参数),但仍然报错。)

但是尝试删除字幕的错误是不同的:

Error calling DELETE https:// www.googleapis.com/youtube/v3/captions?id=Lw0e5xDNU17GFafOl8DcyeOtwzWJTf9V: (403) Forbidden

因此,似乎 captions.download 不被所有者以外的用户禁止(就像 captions.list 不被禁止),因此我想将此数据用于我的 webapp。

如有任何帮助,我们将不胜感激。

谢谢,

尼基尔

最佳答案

我刚刚尝试了您在浏览器和 API 浏览器中提到的 URL,在这两种情况下,当我没有 oAuth token 时我收到了 401,而当我有访问 token 时收到了 403(因为我不是所有者),因此端点按预期运行;根据documentation ,下载字幕需要获得视频所有者的 oAuth 同意。

如果您收到的是 404,也许是 PHP 库有问题?

关于php - 无法在 Youtube API v3 中下载隐藏式字幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30514097/

相关文章:

php - PHP中随机选择文件

c# - C#在YouTube.Videos.Insert上使用YouTube API v3设置NotifySubscribers

javascript - 无法读取未定义的属性 'apply' - Youtube Api

javascript - 如何使用 YouTube JS API 在 5 秒后跳过广告?

api - 使用YOUTUBE google-api-php-client更新视频

php - 使用 youtube data api v3 和 php 从 youtube 获取视频列表

php - 创建大量目录,每个目录包含几个文件,还是创建包含大量文件的更少目录?

php - 为什么搜索查询在 PHRETS 中没有显示任何结果?

php - 从 PHP 填充表格时出错

google-app-engine - Google API PHP 客户端 - PHP fatal error : Uncaught exception 'InvalidArgumentException' with message 'Invalid code'