2015-10-15 2 views
0

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

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 просто ненадежен?

ответ

1

Причина отсутствия каналов - они приостановлены!

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

И не подвешенный статус включается в экспортируемом CSV