Мне наконец удалось заставить это работать. Я нашел однострочную ссылку на это в инструкциях очень вводящей в заблуждение. В других местах в документах «метаданные» относятся к набору информации, содержащей тему, адреса электронной почты и т. Д., Но в этом случае кажется, что они хотят, чтобы вы добавили идентификатор потока вместе с все эти вещи.
Надеюсь, это прояснит это для кого-то еще:
def create_message(sender, to, cc, bcc, subject, message_text, file=None, thread=None):
message = MIMEMultipart()
message['to'] = to
if cc:
message['cc'] = cc
if bcc:
message['bcc'] = bcc
message['from'] = sender
message['subject'] = subject
msg = MIMEText(message_text, 'html')
message.attach(msg)
if file:
message = attach_file(message, file)
output = {'raw': base64.urlsafe_b64encode(message.as_string().encode()).decode()}
if thread:
output['threadId'] = thread
return output