尝试使用 Gmail 发送电子邮件 API
Trying to send emails with Gmail API
我一直在关注教程和阅读文章,试图了解如何使用 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"
欢迎任何和所有建设性的批评。或者任何关于这个主题的高质量教程,你可以指导我!谢谢。
base64.urlsafe_b64encode
returns 一个 bytes
对象。您应该将其转换为带有 .decode("utf-8")
的字符串,这应该可以解决您的错误。
我一直在关注教程和阅读文章,试图了解如何使用 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" 欢迎任何和所有建设性的批评。或者任何关于这个主题的高质量教程,你可以指导我!谢谢。
base64.urlsafe_b64encode
returns 一个 bytes
对象。您应该将其转换为带有 .decode("utf-8")
的字符串,这应该可以解决您的错误。