API Gmail:renturn错误"Object of type bytes is not JSON serializable"



以下位置提供的代码:https://developers.google.com/gmail/api/guides/sending#python要求创建编码为base64url字符串的电子邮件内容,并提供以下代码:

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())}

因此,发送时:

def send_message(service, user_id, message):
    try:
        message = (service.users().messages().send(userId=user_id, body=message).execute())

返回的消息:"字节类型的对象不是JSON可序列化的";

感谢您的帮助

bob2box

文档中有一些错误

base64.urlsafe_b64encode需要字节而不是字符串。

更换

{'raw': base64.urlsafe_b64encode(message.as_string())}

带有

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

相关内容

  • 没有找到相关文章

最新更新