Задать вопрос
weranda
@weranda

Почему YouTube API возвращает результаты, а видео отсутствует?

Приветствую
Есть ID видео: AvWYF1sa1Fw. Видео отсутствует, но при запросе данных о нем через API в JSON формате выдает значение о существовании какого-то результата существования видео — в totalResults и resultsPerPage возвращает единицы вместо нулей.
5ca73768183bf293534355.png
По идее в этих полях должны быть нули. Подскажите пожалуйста почему так происходит и может быть есть другой способ через API проверить существование видео?
Запрашиваю, вроде, стандартно:
https://www.googleapis.com/youtube/v3/videos?id={VIDEO_ID}&part=snippet,contentDetails,statistics,status&key={API_KEY}
  • Вопрос задан
  • 336 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия 1С-программист
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Satico
@Satico
Мой скромный опыт показыват, что при работе через API key можно проверить существование видео только опосредованно - если у вас настроена обработка ошибок при попытке запросить данные из пустого массива, как в примере с вашим видео (ID AvWYF1sa1Fw).

Может, если использовать Google OAuth 2.0, то API Будет корректно обрабатывать запрос и отдавать релевантный в таких случаях ответ, как и прописано в документации для ресурса Video:

notFound (404)
videoNotFound
The video that you are trying to retrieve cannot be found. Check the value of the request's id parameter to ensure that it is correct.


Но мне такой ответ никогда не приходил, поэтому я использую функцию get_headers(). И только при получении ответа 200 (видео существует и доступно), делаю вызов к API. Ваше видео отдает ошибку 404.

Если сами не сможете написать конструкцию для проверки HTTP заголовка, могу поделиться кусочком кода.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽
Крона Лабс Екатеринбург
от 200 000 ₽