使用mySubscribers参数无法检索1000个以上的订户

时间:2019-03-23 12:32:05

标签: javascript node.js youtube-api youtube-data-api subscription

我正在尝试检索已订阅授权用户的频道的完整列表。

根据Subscriptions: list

  

要检索完整的订户列表,请使用 mySubscribers 参数。该参数不会按特定顺序返回订阅者,它不会限制可以检索的订阅者数量。

但是,即使使用此参数,我也只能检索1000个结果。

我正在使用Node.js。我的参数如下:

{'params': {
   'part': 'snippet,contentDetails,subscriberSnippet',
   'mySubscribers': true,
   'maxResults': 50
 }};

请求转到以下URL:

https://www.googleapis.com/youtube/v3/subscriptions?part=snippet%2CcontentDetails%2CsubscriberSnippet&mySubscribers=true&maxResults=50

根据pageInfo:

"pageInfo": {
    "totalResults": 12954,
    "resultsPerPage": 50
},

我继续使用nextPageToken进行请求:

function subscriptionsListByChannelId(auth, requestData) {
  var service = google.youtube('v3');
  var parameters = removeEmptyParameters(requestData['params']);
  parameters['auth'] = auth;
  service.subscriptions.list(parameters, function(err, response) {
    if (err) {
      console.log('The API returned an error: ' + err);
      return;
    }
    console.log(response);
    if (response.data.nextPageToken) {
        var newParams = {'params': {
        'part': 'snippet,contentDetails,subscriberSnippet',
        'mySubscribers': true,
        'maxResults': 50,
        'pageToken': response.data.nextPageToken
      }};
      authorize(content, newParams, subscriptionsListByChannelId);
    }
  });
}

response.data.nextPageToken在恰好有1000个订阅者之后变得不确定,这意味着它已到达最后一页。

我不知道为什么它会在此时停止。根据文档,我应该能够检索所有订户,而不仅仅是1000个。我尝试了我能想到的每种参数组合,但是没有任何变化。

编辑:对于以后遇到这个问题的任何人,我注意到Channels: list拥有1000多个订阅者,尽管mySubscribers参数已被弃用。通过切换API,您可以检索更多订户,尽管它们大约重复了72%。由于这两个API的问题,我不认为这是解决方案。

0 个答案:

没有答案