Я использую API Gmail для получения данных электронной почты в своем простом Java-приложении, и я получил все, что захочу, используя quickstart, но я не могу получить полный контент электронной почты. Я использовал message.getRaw(), но он возвращает null. Итак, каждый может помочь, как я могу получить доступ к содержимому электронной почты.Как получить содержимое тела электронной почты с использованием API Gmail
0
A
ответ
3
Использование messages.list, чтобы получить идентификаторы сообщений, которые будут использованы в дальнейшем для получения полностью квалифицированные сообщения отдельно через messages.get.
По какой-то причине message.list игнорирует поля, которые заданы в запросе. Google отправляет обратно json, который содержит только поля по умолчанию "messages(id,threadId),nextPageToken"
. Вот почему message.getRaw()
возвращает null
.
api-explorer - gmail.users.messages.list
/**
* Returns empty messages sent between after and before
* that contain only identifiers.
* @param after
* @param before
* @param fields fields to be included in response
* (IGNORED see api-explorer)
* @return
*/
public List<Message> getEmptyMessages(Date after, Date before, String fields) {
Gmail.Users.Messages.List request = gmailService.users().messages().list("me")
// or setQ("is:sent after:yyyy/MM/dd before:yyyy/MM/dd")
.setLabelIds(Arrays.asList("SENT"))
.setQ("after:" + gmailFormat(after) +" "+
"before:"+ gmailFormat(before))
.setMaxResults(MAX_RESULTS)
.setFields(fields);
List<Message> list = new LinkedList<>();
ListMessagesResponse response = null;
do {
response = request.execute();
list.addAll(response.getMessages());
request.setPageToken(response.getNextPageToken());
} while (request.getPageToken() != null && request.getPageToken().length() > 0);
return list;
}
public String gmailFormat(Date d) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
return sdf.format(d);
}
api-explorer - gmail.users.messages.get
/**
* Returns "fully-qualified" message.
* @param id identifier of the message to be obtained.
* @param fields fields to be included in response e.g. "raw,snippet"
* (use api-explorer to build this string)
* @return
*/
public Message getFullyQualifiedMessage(String id, String fields) {
return gmailService.users().messages().get("me", id)
.setFormat("FULL")
.setFields(fields)
.execute();
}
Смежные вопросы
- 1. Отправка электронной почты с использованием Gmail API
- 2. Как получить темы Gmail с использованием API Gmail в C#
- 3. Чтение тела электронной почты с использованием gmail в R
- 4. Как получить адрес электронной почты пользователя с помощью API Gmail?
- 5. Центрирование тела электронной почты HTML в Gmail
- 6. Гиперссылка на Gmail Входящие (содержимое электронной почты)
- 7. API IOS Gmail - как получить «messageId» электронной почты с приложением
- 8. Отправка электронной почты с PHP с использованием API Gmail
- 9. Как получить тело электронной почты электронной почты с помощью Java Mail API
- 10. форматирование тела электронной почты с использованием VBA
- 11. Отправка электронной почты с использованием API Gmail в java
- 12. Как получить содержимое всех сообщений электронной почты от пользователя в API Gmail?
- 13. Анализ текстового тела электронной почты с imaplib
- 14. получить только содержимое электронной почты
- 15. API-интерфейс Gmail PHP Отправка электронной почты
- 16. Столбец электронной почты электронной почты Gmail
- 17. API-интерфейс Gmail Python - Получить тело электронной почты
- 18. Отправка электронной почты gmail
- 19. Как читать содержимое электронной почты?
- 20. Gmail адрес электронной почты extractor
- 21. Изменение конструкции тела электронной почты
- 22. Возможность определения языка электронной почты тела заголовки электронной почты
- 23. Gmail feed получить текст электронной почты
- 24. Как получить тело WYSIWYG сообщения электронной почты с использованием MimeKit
- 25. API Gmail - отправка электронной почты с oAuth2.0 в javascript
- 26. Анализ тела электронной почты с помощью C#
- 27. Отправка электронной почты с использованием Gmail SMTP с PHP
- 28. Mandrill API - скачать содержимое электронной почты
- 29. Получение тела электронной почты без извлечения вложений с использованием рубиновой почты gem
- 30. Получение только тела электронной почты с использованием mail-listener-2
С содержанием электронной почты, вы имеете в виду текст, который находится в электронной почте? :) – Tholle