在java中使用对象com.google.api.services.gmail.model.Message读取gmail消息正文?

Posted

技术标签:

【中文标题】在java中使用对象com.google.api.services.gmail.model.Message读取gmail消息正文?【英文标题】:read gmail message body with the object com.google.api.services.gmail.model.Message in java? 【发布时间】:2017-01-27 10:08:59 【问题描述】:

我正在尝试使用 GmailAPI 阅读 gmail 邮件。我成功拿到了消息对象。

我有对象 com.google.api.services.gmail.model.Message 及其 .toString() 结果 "id":"157433a7e******","threadId":"157433a7e******"

但我无法读取对象的内容 message.getPayload() 返回 null,.getSnippet() 返回 null,.getRaw() 也返回 null

对象 API:https://developers.google.com/resources/api-libraries/documentation/gmail/v1/java/latest/com/google/api/services/gmail/model/Message.html

我已经尝试过

中提到的其他方法

How to get full message body in Gmail?

我想知道mail subject, dates, sender, label, body

谁能指点一下?

这是我正在使用的项目源

com.google.api-client %% google-api-client %% 1.22.0

com.google.oauth-client %% google-oauth-client-jetty %% 1.22.0

com.google.apis %% google-api-services-gmail %% v1-rev48-1.22.0

提前致谢

【问题讨论】:

【参考方案1】:

如果您尝试API Explorer for listing messages,您将看到响应仅包含消息的idthreadId。您必须向get the content of the message 提出额外请求。

Message test = service.users().messages().get("me", "157433a7e******").setFormat("full").execute();

然后你只需要从消息和traverse the parts to get the content of the message中获取字段。

【讨论】:

以上是关于在java中使用对象com.google.api.services.gmail.model.Message读取gmail消息正文?的主要内容,如果未能解决你的问题,请参考以下文章

java.lang.NoSuchMethodError: com.google.api.services.bigquery.model.JobConfigurationQuery.getConnect

Google表格API Java程序可在一台机器上运行,而不是另一台机器--401 Au

将骆驼与 Google PubSub 组件一起使用会为 com.google.api.client.repackaged.com.google.common.base.Strings 提供 NoCla

无法导入 com.google.api.services.bigquery.model.TableCell [重复]

AppEngine (Java) 上的 Adwords API

com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 未找到