是否可以通过最近订阅的方式订购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个项目,而且我只有三个订单类型参数 relevant ,未读,字母。
但是我需要访问我最近订阅的频道。如果有人帮助我解决这个问题,我将不胜感激。
谢谢!
答案 0 :(得分:2)
根据the docs,您可以使用以下参数:
myRecentSubscribers (布尔值)
此参数只能在经过适当授权的请求中使用。将此参数的值设置为true可以按倒序(最新的顺序)检索经过身份验证的用户的订阅源。
请注意,此参数仅支持检索经过身份验证的用户的频道的最新1000个订户。要检索订户的完整列表,请使用mySubscribers参数。该参数不会按特定顺序返回订阅者,它不会限制可以检索的订阅者数量。
也就是:在上述代码的setter序列中插入.setMyRecentSubscribers(true)
之类的东西。 (您也可以删除setChannelId
setter调用,因为通过要求您被授权调用此终结点,API已经知道您的调用所指向的通道。)
还要注意,参数的maxResults
最大值是50
。要仅接收最新的订户,请按上述设置程序顺序使用.setMaxResults(1)
。
如果要获取所有订阅的列表,则有以下参数:
我的(布尔值)
此参数只能在正确的authorized request中使用。将此参数的值设置为true可以检索经过身份验证的用户的订阅的供稿。
设置者顺序中有.setMine(true)
(无.setChannelId
)。
由于该端点提供了paginated result sets,因此您将不得不反复调用API的端点来获取所有订阅。获得所有这些订阅后,按snippet.publishedAt
对它们进行排序。
如果您仅想获取已订阅的最新频道,而不是排序算法,就足以在频道上使用max算法(O(n)
而非O(n log n)
)相同的属性。
有关如何在代码中实现分页的示例,请查看Google本身提供的sample code。
答案 1 :(得分:1)
据您所知,您想检查一下您是否在Youtube Data API V3的帮助下关注特定的youtube频道。
为此,document中提到可以使用forChannelId
参数。
Youtube Data API还有一个游乐场,可让您查看查询结果。您可以简单地在forChannelId
字段中输入channelId,如果未订阅指定的频道,则result将返回一个空数组;如果您未订阅指定的频道,则result将返回该指定频道的数据。
您可以从Java应用程序中进行简单的请求以获取结果。在此代码示例中,我要检查授权的youtube API用户是否已订阅Firebase Youtube Channel
。
SubscriptionListResponse response = request.setForChannelId("UC_x5XG1OV2P6uZZ5FSM9Ttw")
.setMine(true)
.execute();
并且响应将在您提出的请求中包括指定渠道的详细信息。我还分享了我在上面共享的请求的响应。
{
"kind": "youtube#SubscriptionListResponse",
"etag": "zCQ7lTwIBgdyVsQmbymEu-fUgjU",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 5
},
"items": [
{
"kind": "youtube#subscription",
"etag": "A-G_B0BnSqn7XtJi7BgHJEk9L3Q",
"id": "uTEDDg6jpPBwnsim9moHkataEljshwFopudOgIy34nk",
"snippet": {
"publishedAt": "2020-07-08T14:02:43.789000Z",
"title": "Google Developers",
"description": "The Google Developers channel features talks from events, educational series, best practices, tips, and the latest updates across our products and platforms.",
"resourceId": {
"kind": "youtube#channel",
"channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw"
},
"channelId": "UCC77fYySvfP7p-6QGaa-3lw",
"thumbnails": {
"default": {
"url": "https://yt3.ggpht.com/-Fgp8KFpgQqE/AAAAAAAAAAI/AAAAAAAAAAA/Wyh1vV5Up0I/s88-c-k-no-mo-rj-c0xffffff/photo.jpg"
},
"medium": {
"url": "https://yt3.ggpht.com/-Fgp8KFpgQqE/AAAAAAAAAAI/AAAAAAAAAAA/Wyh1vV5Up0I/s240-c-k-no-mo-rj-c0xffffff/photo.jpg"
},
"high": {
"url": "https://yt3.ggpht.com/-Fgp8KFpgQqE/AAAAAAAAAAI/AAAAAAAAAAA/Wyh1vV5Up0I/s800-c-k-no-mo-rj-c0xffffff/photo.jpg"
}
}
}
}
]
}