How to get full message body in Gmail?

后端 未结 7 1703
旧巷少年郎
旧巷少年郎 2020-12-16 15:07

I want to get full message body. So I try:

Message gmailMessage = service.users().messages().get(\"me\", messageId).setFormat(\"full\").execute();

相关标签:
7条回答
  • 2020-12-16 15:41

    When we get full message. The message body is inside Parts.

    This is an example in which message headers (Date, From, To and Subject) are displayed and Message Body as a plain text is displayed. Parts in Payload returns both type of messages (plain text and formatted text). I was interested in Plain text.

    Message msg = service.users().messages().get(user, message.getId()).setFormat("full").execute();
    // Displaying Message Header Information
    for (MessagePartHeader header : msg.getPayload().getHeaders()) {
      if (header.getName().contains("Date") || header.getName().contains("From") || header.getName().contains("To")
          || header.getName().contains("Subject"))
        System.out.println(header.getName() + ":" + header.getValue());
    }
    // Displaying Message Body as a Plain Text
    for (MessagePart msgPart : msg.getPayload().getParts()) {
      if (msgPart.getMimeType().contains("text/plain"))
        System.out.println(new String(Base64.decodeBase64(msgPart.getBody().getData())));
    }
    
    0 讨论(0)
提交回复
热议问题