Ok, so I’m going to (partly) answer my own question here. So the Messages
api does return an individual message’s content as a list of base64 strings called parts
. Each part
contains mimeType text and body data for whatever is in the message–rich text, attached images, files, etc
However, the API also seems to return a mimeType multipart/alternative
. This is when messages have mixed text and embeded images in line. In this case, when multipart/alternative
is used, the body
b64 text is empty and the documentation seems to suggest that the recursive parts
object is full of additional data for this mime type.
You can use the base64 plugin from Zeroqode to decode the base64 returned by this plugins, but if the plugin template doesn’t support additional nested layers for data on these more complex messages, then it doesn’t much matter.
By including a 2nd layer of parts
array into gmail api response template for this plugin, would allow for some way to dig into multipart/alternative messages. Right now the body
for multipart/alternative message is empty the missing data being under the parts
array.
From the google documentation about parts
https://developers.google.com/gmail/api/reference/rest/v1/users.messages#Message
The child MIME message parts of this part. This only applies to container MIME message parts, for example multipart/*
. For non- container MIME message part types, such as text/plain
, this field is empty. For more information, see RFC 1521.
If anyone knows a solution to reading message text into bubble