首页 文章

如何在一次API通话中请求来自多个YouTube Channels 的近期视频?

提问于
浏览
0

我查看了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 回答

  • 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标记的子标记 .

    <feed xmlns='http://www.w3.org/2005/Atom' ...>
    <id>https://gdata.youtube.com/feeds/users/USER_ID/playlists</id>
    ...
    <link rel='http://schemas.google.com/g/2005#batch'
    type='application/atom+xml'
    href='https://gdata.youtube.com/feeds/api/users/USER_ID/playlists/batch?v=2'/>
    

相关问题