我正在尝试在我的 python 代码中使用 Outlook 的 REST API 来代表已经同意我的用户发送电子邮件。
我能够使用他们的 /me/sendmail 节点成功发送文本电子邮件,其有效负载如下:
email_payload = {
"Message": {
"Subject": email_subject,
"Body": {
"ContentType": "Text",
"Content": email_body
},
"ToRecipients": [
{
"EmailAddress": {
"Address": to
}
}
]
}
}
但是,在尝试添加附件时(基于他们的文档),我遇到了一些问题:
email_payload["Message"]["Attachments"] = [
{
"ContentType": "application/pdf",
"Name": "{0}".format("something.pdf"),
"ContentBytes": base64.b64encode(attachment.read())
}
]
问题在于具有以下内容的 415 响应状态代码: {u'error': {u'message': u'尝试读取消息时发现缺少或空的内容类型标头。内容类型标头是必需的。', u'code': u'RequestBodyRead'}}
在他们的文档中找不到任何关于此的内容。希望有人能启发我:)