Результаты отличаются для API Gmail и веб-интерфейса Gmail при использовании описанного здесь стандартного формата запроса - https://support.google.com/mail/answer/7190.
Проблема конкретно в параметрах после / до и новее / старше. Например, следующий запрос API Gmail «после: 2015/11/19 до: 2015/11/20» возвращает другие результаты по сравнению с выполнением того же запроса в веб-интерфейсе Gmail. Веб-интерфейс выглядит правильно, тогда как API возвращает электронные письма со следующего дня (20-го). Возможно, проблема в разговоре с часовым поясом?
Проверяя прошлые вопросы, я вижу здесь нечто похожее как используйте фильтр запросов GMAIL API для datetime (сервер обрабатывает запросы как время PST). В этом случае, возможно, стоит обновить документацию или подумать о возможном решении.
Шаги по воспроизведению проблемы.
- Имейте почту в учетной записи Gmail на даты, указанные ниже. Через несколько дней после и до.
- Выполнить после: 2015/11/19 до: 2015/11/20 в веб-интерфейсе Gmail.
- Запросите API Gmail с помощью "after: 2015/11/19 before: 2015/11/20" для параметра q, используя https://developers.google.com/gmail/api/v1/reference/users./messages/list
- Сравните результаты. (У меня были различия при выполнении этих шагов с учетной записью Gmail в Великобритании)
Должны видеть только письма от 19-го числа, но я вижу письма от 19-го И 20-го при использовании API. Веб-интерфейс работает должным образом и возвращает только электронные письма от 19-го числа.
К вашему сведению: я также использовал другие параметры запроса, такие как «from: [email protected]» в сочетании с параметрами «до / после» или «новые / старые». Я хотел упростить отчет / вопрос об ошибке.
Также: запросы api, которые я делал с помощью модуля узла, называемого node-gmail-api. Проверка кода используемой конечной точки - это код сообщений:
body: 'GET ' + api + '/gmail/v1/users/me/messages/' + m.id + fields + '\n'
Проблема в том, что вызывается конечная точка «сообщения», а не «сообщения / список»? Согласно ответу на этот вопрос? - Почему поиск в API Gmail возвращает результат, отличный от результатов поиска на сайте Gmail?
Это ошибка / особенность? Есть ли обходной путь, такой как использование эпохи мс. (также не в документации, как я вижу)
Спасибо
after:<start_of_day_in_seconds> AND before:<end_of_day_in_seconds>
. Стоит попробовать! - person Tholle   schedule 25.11.2015