Невозможно загрузить субтитры в Youtube API v3
Я использую пример кода PHP, представленный в API YouTube v3: https://developers.google.com/youtube/v3/docs/captions/download, чтобы загрузить подписи от сторонних, общедоступных видео YouTube в моем веб-приложении, т.е. загрузил контент на Youtube.
Я могу получить доступ к списку дорожек с субтитрами, но не могу загрузить подпись, используя идентификатор дорожки с субтитрами из полученного списка.
Ошибка, которая появляется при попытке ЗАГРУЗИТЬ:
Ошибка вызова GET https:// www.googleapis.com/youtube/v3/captions/Lw0e5xDNU17GFafOl8DcyeOtwzWJTf9V?tfmt=srt&alt=media: (404) не найден
(Я попытался удалить tfmt (необязательный параметр), но все равно выдает ошибку.)
Но ошибка отличается при попытке УДАЛИТЬ подписи:
Ошибка вызова DELETE https:// www.googleapis.com/youtube/v3/captions?id=Lw0e5xDNU17GFafOl8DcyeOtwzWJTf9V: (403) Запрещено
Поэтому кажется, что captions.download НЕ запрещен для пользователей, кроме владельца (точно так же, как captions.list НЕ запрещен), и поэтому я хотел бы использовать эти данные для моего веб-приложения.
Любая помощь с благодарностью получена.
Спасибо,
Нихилу
2 ответа
Я нашел другой способ получить доступ к данным подписи любого видео YouTube. Код написан на Ruby.
Чтение транскрипта YouTube (подписи) из любого публичного видео Youtube
Прекрасно работает, мне просто нужно найти способ интегрировать это с моим веб-приложением.
Я только что попробовал URL, который вы упомянули в браузере и в проводнике API, и в обоих случаях я получил 401, когда у меня не было токена oAuth, и 403, когда у меня был токен доступа (так как я не владелец), поэтому конечные точки действуют как задумано; Согласно документации, для загрузки подписей требуется oAuth-согласие от владельца видео.
Возможно, если вместо этого вы получите 404, проблема в библиотеке PHP?