如何在Gmail中获取完整的邮件正文?
我想获得完整的消息正文。所以我尝试:
Message gmailMessage = service.users().messages().get("me", messageId).setFormat("full").execute();
为了获得身体,我尝试:
gmailMessage.getPayload().getBody().getData()
但结果总是.如何获得完整的消息正文?null
我想获得完整的消息正文。所以我尝试:
Message gmailMessage = service.users().messages().get("me", messageId).setFormat("full").execute();
为了获得身体,我尝试:
gmailMessage.getPayload().getBody().getData()
但结果总是.如何获得完整的消息正文?null
要从 gmailMessage 获取数据,您可以使用 gmailMessage.payload.parts[0].body.data。如果要将其解码为可读文本,可以执行以下操作:
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.StringUtils;
System.out.println(StringUtils.newStringUtf8(Base64.decodeBase64(gmailMessage.payload.parts[0].body.data)));
我尝试了这种方式,因为message.getPayload().getBody().getParts()总是空的。
import com.google.api.client.repackaged.org.apache.commons.codec.binary.Base64;
import com.google.api.client.repackaged.org.apache.commons.codec.binary.StringUtils;
(...)
Message message = service.users().messages().get(user, m.getId()).execute();
MessagePart part = message.getPayload();
System.out.println(StringUtils.newStringUtf8(Base64.decodeBase64(part.getBody().getData())));
结果是纯HTML字符串