如何解决create_message()函数中的“需要类似字节的对象,而不是'str'”的问题?

时间:2019-03-29 06:09:17

标签: python email encoding google-api gmail-api

使用create_message()创建新消息时出现错误。功能列在https://developers.google.com/gmail/api/guides/drafts上。

def create_message(sender, to, subject, message_text):
    message = MIMEText(message_text)
    message['to'] = to
    message['from'] = sender
    message['subject'] = subject
    return {'raw': base64.urlsafe_b64encode(message.as_string())}
  

错误:TypeError:需要一个类似字节的对象,而不是'str'

1 个答案:

答案 0 :(得分:1)

base64.urlsafe_b64encode预期为bytes,但是message.as_string()的类型为str

请改用消息的as_bytes方法。

return {'raw': base64.urlsafe_b64encode(message.as_bytes())}