【问题标题】:Trying to send emails with Gmail API尝试使用 Gmail API 发送电子邮件
【发布时间】:2020-04-04 02:23:09
【问题描述】:

我一直在关注教程和阅读文章,试图了解如何使用 python 3 理解 gmail API。 我卡在 messages.send 方法上。

我的身份验证有效,但我的 CreateMessage 函数抛出错误。

到目前为止,这是我的代码:

def CreateMessage(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_bytes())}

    message = CreateMessage('xxxxxxxx@gmail.com','xxxxxxxx@gmail.com','subject','message text')
    service = build('gmail', 'v1', credentials=creds)
    created_message = service.users().messages().send(userId='me', body=message).execute()

它抛出的错误是“TypeError: Object of type bytes is not JSON serializable” 欢迎任何和所有具有建设性的批评。或者任何关于这个主题的高质量教程,你可以指导我!谢谢。

【问题讨论】:

    标签: python-3.x api email google-api gmail


    【解决方案1】:

    base64.urlsafe_b64encode 返回一个bytes 对象。您应该将其转换为带有.decode("utf-8") 的字符串,这应该可以解决您的错误。

    【讨论】:

    • 谢谢你,成功了。有没有办法添加任何验证,以便 gmail 不会将我的电子邮件标记为可疑?
    • 单独提问
    猜你喜欢
    • 1970-01-01
    • 2016-10-18
    • 2023-03-25
    • 2018-01-26
    • 2021-09-11
    • 2016-11-30
    • 2015-01-02
    • 2017-04-14
    • 2019-10-16
    相关资源
    最近更新 更多