如何使用Youtube Data API V3使用chanel的用户名获取频道上传?

时间:2013-02-17 20:43:11

标签: youtube-api

我使用上一个问题How do I get a list of uploaded videos for a certain channel with the new YouTube Data API (V3)?探讨了这个主题的大部分内容,但我想要一些基于给定答案的细节。

是否可以使用频道的用户名而无需调用搜索查询来获取频道ID?我有一个https请求可以获得如下所示的搜索列表,但是当我知道确切的频道用户名时,我宁愿不浪费API配额。

https://www.googleapis.com/youtube/v3/search?q={channel_username}&key={my_api_key}&part=snippet

我这样做只是从频道中获取一个视频ID并从那里提取一个上传者ID,但它不优雅,如果上传被删除则无效。

此外,一旦我完成了上传密钥,我怎样才能获得一个显示所有上传内容的json,而不仅仅是25个列表?如果我必须递归调用上传页面,我该怎么做?

感谢。

3 个答案:

答案 0 :(得分:6)

我认为要使用频道的用户名获取频道,唯一的选择是使用搜索,最小化配额使用的最佳策略是使用缓存,或保存频道ID。

对于上传的视频的完整列表,作为JSON,您可以使用contentDetails.relatedPlaylists.uploads(包含频道上传视频的播放列表的ID)并使用每页50个项目的页面检索PlaylistItems,并使用nextPageToken值,用于检索结果集中的每个页面。

答案 1 :(得分:4)

我找到了答案。正确的方法是使用搜索查询网站,但直接说明要响应的列表类型,实际上只搜索频道。这是由

完成的
https://www.googleapis.com/youtube/v3/search?q={search_term}&key={API_key}&type=channel&part=snippet

如您所见,类型为频道。通过搜索确切频道用户名的搜索字词,您将获得一个返回列表,其中第一个项目对象作为频道,您可以存储频道ID和上传ID。

答案 2 :(得分:0)

要更新此答案,您需要识别"配额限制"。
因此,要使用" 搜索?q = [搜索] "将产生100个配额使用 最好使用" 频道?part = id& forUsername = {username] "因为只有1的配额。

然后你可以使用" 频道?part = id,snippet .......& id = {channel_ID] "获取所有数据

相关问题