Формирование URL-адреса API для возврата только videoId.(И используйте минимальную квоту) - PullRequest
0 голосов
/ 07 июня 2019

Итак, я использую Home Assistant для запуска автоматизации, которая извлекает новейший идентификатор видео, который был загружен каналом, так что я могу использовать свой дом Google для его воспроизведения (на Roku TV), работает нормально, я работаю над созданием автоматизация, которая также выполняет запрос GET, но сейчас я использую датчик покоя домашнего помощника, который обновляется, выполняя GET через заданное количество секунд, по какой-то причине, хотя в минуту опрашивается только 3 датчика, или кажется, что они использовать около 100-500 квот (превышая мою квоту в 10000 через несколько часов или меньше), я не уверен, что это проблема домашнего помощника или я не правильно использую API (мне нужен только videoId), плохая ссылка мой URL ниже:

https://www.googleapis.com/youtube/v3/search?key=API_KEY&part=id&order=date&maxResults=1

Ожидаемое использование 1-3 квот на GET, получение 100+ квот на GET.

1 Ответ

2 голосов
/ 07 июня 2019

Запрос конечной точки поиска дороже , чем запрос конечной точки PlaylistItems для данного плейлиста, загружаемого данным пользователем. В зависимости от моделей использования, стандартные квоты могут накладывать довольно жесткие ограничения на количество вызовов, которые пользователю разрешено делать на различных конечных точках API.

Адаптируя мой ответ к другому вопросу, я предлагаю вам вместо этого сделать следующее: вызвать конечную точку PlaylistItems , передав ей в качестве playlistId параметр указанного канал загружает идентификатор плейлиста.

Загрузка данного канала ID списка воспроизведения получается после запроса собственной конечной точки канала . Необходимый идентификатор можно найти на .items.contentDetails.relatedPlaylists.uploads. Обычно идентификатор канала и соответствующий ему идентификатор списка воспроизведения для загрузки связаны с s/^UC([0-9a-zA-Z_-]{22})$/UU\1/.

Обратите внимание, что вы должны запрашивать конечную точку каналов только один раз, а затем использовать возвращенный идентификатор списка загрузок столько раз, сколько вам нужно.

Также обратите внимание, что вы можете поэкспериментировать с параметром fields , применяемым к вашим запросам, чтобы получить только из API частичные ресурсы . Тем не менее, я предсказываю, что (возможно, я ошибаюсь, поскольку не проверял), стоимость 3 пунктов для запроса PlaylistItems для его contentDetails объекта не может быть улучшена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...