Если ваша последняя страница полностью содержит последнее электронное письмо с этим конкретным запросом, вы получите nextPageToken
на страницу с ответом, подобным следующему:
{
"resultSizeEstimate": 0
}
Самый простой способ обойти это - простодобавить проверку, если messages
является частью ответа:
while 'nextPageToken' in response:
page_token = response['nextPageToken']
response = service.users().messages().list(userId=user_id, q=query, pageToken=page_token).execute()
if 'messages' in response:
messages.extend(response['messages'])