簡體   English   中英

Outlook API電子郵件附件問題

[英]Outlook API email attachment issue

我試圖在我的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'A缺失或空內容類型標題。 內容類型標題是必需的。',u'code':u'RequestBodyRead'}}

在他們的文檔中找不到任何相關內容。 希望有人能賜教:)

對於其他任何有此類問題的人,這里是上下文和修復:

最初,因為我只發送純文本電子郵件,所以我的請求標題如下所示:

request_headers = {
    'Authorization': "Bearer {0}".format(token),
}

而實際要求:

    api_response = requests.post(
        request_url,
        json.dumps(body),
        headers=request_headers
    )

你可能已經注意到我沒有在我的標題中發送任何內容類型(不知道為什么),但是到目前為止一切順利,直到我決定添加附件。

好像我的request_headers也包含Content-Type,一切都會好起來的:

  request_headers = {
             'Authorization': 'Bearer {0}'.format(refreshed_token),
             'Content-Type': 'application/json'
         }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM