Похоже, что вы пытаетесь использовать запрос, чтобы определить, какие сообщения удалять, а не фактический идентификатор сообщения.
Я хотел бы изучить использование метода DelMessagesMatchingQuery из библиотеки API Gmail.
def DelMessagesMatchingQuery(service, user_id, query=''):
try:
response = service.users().messages().list(userId=user_id,
q=query).execute()
messages = []
if 'messages' in response:
messages.extend(response['messages'])
while 'nextPageToken' in response:
page_token = response['nextPageToken']
response = service.users().messages().list(userId=user_id,
q=query, pageToken=page_token).execute()
messages.extend(response['messages'])
else:
for message in messages:
message_id = message['id']
delresponse = service.users().messages().trash(userId=user_id, id=message_id).execute()
print(delresponse)
return messages
except errors.HttpError as error:
print('An error occurred: %s' % error)
тогда вы можете определить строку запроса при вызове функции
query = 'from:johndoe@umich.edu'
print(DelMessagesMatchingQuery(service, user_id, query))