1

我想通过 API 添加对 gmail 线程的回复。

谷歌说

只需将与线程 ID 配对的 threadId 键添加到消息的元数据,即消息对象。

这就是我正在尝试的:

def create_message(sender, to, cc, bcc, subject, message_text, file=None, thread=None):
    message = MIMEMultipart()
    print(thread)
    message['to'] = to
    if cc:
        message['cc'] = cc
    if bcc:
        message['bcc'] = bcc
    if thread:
        message['threadId'] = thread
    message['from'] = sender
    message['subject'] = subject
    msg = MIMEText(message_text, 'html')
    message.attach(msg)
    if file:
        message = attach_file(message, file)
    return {'raw': base64.urlsafe_b64encode(message.as_string().encode()).decode()}

但它不起作用。我不知道该怎么办。

4

1 回答 1

1

我终于设法让它工作了。threadId需要从message字典中移动到自身output中。

希望这可以为其他人清除它:

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
于 2018-11-09T01:05:30.517 回答