Невозможно получить более 1000 подписчиков с параметром mySubscribeers - PullRequest
1 голос
/ 23 марта 2019

Я пытаюсь получить полный список каналов, на которые подписан авторизованный пользователь.

Согласно Подписки: список :

Чтобы получитьполный список подписчиков, используйте параметр mySubscribeers .Этот параметр, который не возвращает подписчиков в определенном порядке, не ограничивает число подписчиков, которые могут быть извлечены.

Однако даже с этим параметром я ограничен получением 1000 результатов.

Я использую Node.js.Мои параметры следующие:

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

Запрос идет по этому адресу:

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

Согласно данным страницы:

"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. Я перепробовал каждую комбинацию параметров, которую только могу себе представить, но ничего не изменилось.

РЕДАКТИРОВАТЬ: Для всехнаткнувшись на этот вопрос в будущем, я заметил Каналы: список получает более 1000 подписчиков, несмотря на то, что параметр mySubscribers устарел.Переключив API, вы можете получить больше подписчиков, хотя они дублируют около 72%.Из-за проблем обоих API я не вижу в этом решения.

...