我正在使用 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/