android - 通过 Youtube Data Api 获取频道订阅列表
问题描述
有什么方法可以按最近订阅的顺序排列 Youtube 频道的订阅列表?
youtube
.subscriptions()
.list("snippet")
.setOrder("")// relevance, unread, alphabetical
.setMaxResults((long) 1000) // it is not affecting, the max limit is 50
.setMine(true)
.execute();
根据文档,我一次最多只能获得 50 件商品,而且我只有三个订单类型参数相关性、未读、字母顺序。
但我需要到达我最后订阅的频道。如果有人帮助我处理这个问题,我将不胜感激。
提前致谢!
解决方案
根据文档,您可以使用以下参数:
我最近的订阅者(布尔值)
此参数只能在正确授权的请求中使用。将此参数的值设置为 true 以按时间倒序(最新的优先)检索经过身份验证的用户的订阅者的订阅源。
请注意,此参数仅支持检索经过身份验证的用户频道的最近 1000 个订阅者。要检索完整的订阅者列表,请使用 mySubscribers 参数。该参数不按特定顺序返回订阅者,不限制可以检索的订阅者数量。
那就是:.setMyRecentSubscribers(true)
在上面代码的设置器序列中插入类似的东西。(您也可以删除setChannelId
setter 调用,因为通过要求您被授权调用此端点,API 已经知道您的调用所指的通道。)
另请注意,参数的maxResults
最大值为50
。在上面的设置器序列中只接收最近的订阅.setMaxResults(1)
者。
如果您想获取所有订阅的列表,则有以下参数:
我的(布尔值)
此参数只能在经过适当授权的请求中使用。将此参数的值设置为 true 以检索经过身份验证的用户订阅的提要。
在你的二传手序列中有.setMine(true)
(没有)。.setChannelId
您将不得不重复调用 API 的端点来获取您的所有订阅,因为该端点提供了分页的结果集。获得所有这些订阅后,按 . 对它们进行排序snippet.publishedAt
。
如果您只想获取要订阅的最新频道,而不是排序算法,那么在同一属性上使用 max 算法(O(n)
而不是)就足够了。O(n log n)
有关如何在代码中实现分页的示例,请查看Google 本身提供的一些示例代码。
推荐阅读
- microsoft-teams - 受保护的 API 请求批准后,图形 API 列表通道消息返回 UnknownError
- actions-on-google - 自定义操作 - 抱歉,您的语言或国家/地区无法使用或设置 {action name}
- javascript - 使用二进制响应填充输入类型标签
- java - 为什么即使 JUnit4 在我的有效 pom.xml 中也无法识别 JUnit4 导入?
- python-3.x - 将 XML 文件解析为嵌套 DICT
- google-apps-script - 谷歌表单 - 如何在任何给定时间限制一个人访问表单?
- javascript - 如何在 HTML 中访问 formArray 的属性?
- python - xlsxwrter:图表标题中的富文本格式
- javascript - 电子需要在启动时刷新
- javascript - 通过 dispatchEvent 结束活动触摸