Каналы: список API не возвращает все каналы

Я использую Channels: list API ( https://developers.google.com/youtube/v3/docs/channels/list ), чтобы получить все каналы, управляемые ByMe и onBehalfOfContentOwner.

API, обзор каналов и экспорт всех каналов в YouTube CMS показывают 1172 канала.

Но при опросе API я получаю только 1092 канала, хотя сам API возвращает «totalResults»: 1172.

nextPageToken, channels = None, []
while channels == [] or nextPageToken is not None:
    results = service.channels().list(part='id', managedByMe=True, onBehalfOfContentOwner=CONTENT_OWNER_ID,
                                      maxResults=50, pageToken=nextPageToken).execute()
    channels.extend([item['id'] for item in results['items']])
    print(len(results['items']))
    nextPageToken = results.get('nextPageToken', None)
print(len(channels))

Выход:

50
50
49
48
50
50
50
50
50
48
50
44
49
44
47
47
43
44
36
43
41
44
45
20
1092

Я сделал какую-то глупую ошибку, или API просто ненадежен?


person synotna    schedule 15.10.2015    source источник


Ответы (1)


Причина отсутствия каналов в том, что они заблокированы!

К сожалению, в документации по API ничего не говорится о том, что приостановка каналов пропускается в API, несмотря на то, что они включены в totalResults.

Приостановленный статус также не включается в экспортируемый CSV.

person synotna    schedule 15.10.2015