Python Gmail API не передает параметр labelIds в метод List - PullRequest
0 голосов
/ 09 сентября 2018

Я пытался настроить скрипт Python, который включает запрос учетной записи Gmail для непрочитанных сообщений. В идеале я хотел бы использовать метод «list» API Gmail с необязательной фильтрацией параметров запроса для сообщений с labelId «UNREAD».

Когда я проверяю это на сайте Google (https://developers.google.com/gmail/api/v1/reference/users/messages/list), он работает правильно.

Но в моем скрипте параметр labelId, кажется, передается неправильно, и мои выходные данные всегда представляют собой полный список сообщений.

Вот строка кода, которую я получил прямо сейчас:

results = service.users().messages().list(userId='me', labelIds='UNREAD').execute()

Возвращает все сообщения в папке «Входящие», не отфильтрованные только в UNREAD.

Я встречал некоторую документацию о людях, имеющих аналогичную проблему с необязательными запросами (параметр 'q' в методе списка API Gmail), но не для labelIds.

Кто-нибудь имеет опыт решения этой проблемы?

1 Ответ

0 голосов
/ 10 сентября 2018

Как насчет этой модификации? Я думаю, что есть несколько шаблонов для вашей ситуации.

Шаблон 1:

results = service.users().messages().list(userId='me', labelIds=['UNREAD']).execute()

Например, если вы хотите получить непрочитанные сообщения в папке «Входящие», вы можете использовать userId='me', labelIds=['UNREAD', 'INBOX'] и userId='me', labelIds=['UNREAD'], q='in:inbox'.

Шаблон 2:

results = service.users().messages().list(userId='me', q='is:unread').execute()

Например, если вы хотите получить непрочитанные сообщения в папке «Входящие», вы можете использовать userId='me', q='in:inbox is:unread'.

Ссылки:

Если я неправильно понимаю ваш вопрос, извините.

...