0

所以我正在使用 Home Assistant 启动一个自动化来检索频道上传的最新 videoId,所以我可以使用我的谷歌主页播放它(在 Roku 电视上),工作正常,我正在创建一个自动化也做了一个 GET 请求,但现在,我正在使用家庭助理休息传感器,它通过在设定的秒数后执行 GET 来更新,由于某种原因,尽管每分钟只有 3 个传感器被轮询,但似乎他们使用了大约 100 个-500 个配额(在几个小时或更短的时间内达到我的 10,000 个配额),我不确定这是家庭助理问题还是我没有正确使用 api(我只需要 videoId),我的链接网址如下:

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

每个 GET 预计使用 1-3 个配额,每个 GET 获得 100+ 个配额使用。

4

1 回答 1

4

查询 Search Endpoint比查询 PlaylistItems 端点以获取给定用户的上传播放列表更昂贵。根据使用模式,默认配额可能会对允许用户在 API 的各个端点上进行的调用次数施加相当严格的限制。

调整对另一个问题的回答,我建议您改为执行以下操作:调用PlaylistItems 端点,将给定频道的上传播放列表 ID作为playlistId参数传递给它。

通过查询频道自己的端点获得给定频道的上传播放列表 ID。所需的 ID 位于。通常,频道 ID 与其对应的上传播放列表 ID 相关联。.items.contentDetails.relatedPlaylists.uploadss/^UC([0-9a-zA-Z_-]{22})$/UU\1/

请注意,您应该只查询一次 Channels 端点,然后根据需要多次使用返回的上传播放列表 ID。

另请注意,您可以尝试使用应用于查询的fields参数,以便仅从 API 获取部分资源。但是,我预测(我很可能错了,因为没有测试它)为它的contentDetails对象查询 PlaylistItems 的 3 点成本无法提高。


这是一个原型 URL:

https://www.googleapis.com/youtube/v3/playlistItems?key=APP_KEY&part=contentDetails&fields=items/contentDetails/videoId&maxResults=1&playlistId=PLAYLIST_ID

于 2019-06-07T10:55:53.827 回答