我查看了YouTube API文档,但据我所知,无法有效地从多个YouTube Channels 请求信息(例如最近上传的视频列表) .
根据我的理解,首先需要做的是获取每个YouTube Channels 的“上传”播放列表的播放列表ID .
https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=OneDirectionVEVO&key={YOUR_API_KEY}
然后使用之前检索到的播放列表ID获取上传的视频 .
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUbW18JZRgko_mOGm5er8Yzg&key={YOUR_API_KEY}
这是每个 Channels 的两个请求,如果它只是一个或两个 Channels ,那就没问题了,但对于数百个 Channels 却没有 .
如何有效地将所有这些请求分组到一个API调用中?
1 回答
您可以使用
Batch Processing
YouTube Data API支持批量处理在一次API调用中请求多个YouTube Channels ,使用single API request
执行最多50次操作,而不是为每个单独的操作提交单独的请求 . 批处理请求可以组合多个查询(GET)
,插入(POST)
,更新(PUT)
并删除(DELETE)
操作 . 每个操作都包含在请求中的标记内 .要提交批处理请求,请将
POST
请求发送到批处理URL . 每个Feed都有自己的批处理URL,当您向该URL
提交请求时,您可以对该Feed中的任何条目执行API操作 . Feed的批处理URL显示在<link>
标记中,其rel属性值为http://schemas.google.com/g/2005#batch
. 标记是该Feed标记的子标记 .