Microsoft graph api 无法反序列化的附件错误

Microsoft graph api attachment error of unable to deserialize

我已经试过了,我可以创建事件,但是我遇到了这个错误。

body_json={
        "@odata.type": "#microsoft.graph.fileAttachment",
        "name": "menu.txt",
        "contentBytes": "base64bWFjIGFuZCBjaGVlc2UgdG9kYXk="
    }



   API =" https://graph.microsoft.com/v1.0/users/{}/events/{}/attachments".format(userId,meetingID)
        body_json = json.dumps(body_json) 
        response = requests.request("POST", url=API, data=body_json, headers=self.headers)

错误:<Response [400]> {"error":{"code":"UnableToDeserializePostBody","message":"were unable to deserialize "}}

这里的问题是因为您放入 contentBytes 属性 的数据不是 BASE64。当您关注 documentation 时,他们给出了该示例以让您了解数据是 base64。但实际上在示例中它不是 base64。所以你可以像下面这样在线转换成base64并测试一下。

这是我使用的请求正文,其中包含 Hello World

{
    "@odata.type": "#microsoft.graph.fileAttachment",
    "name": "menu.txt",
    "contentBytes": "SGVsbG8gV29ybGQ="
}

这让我在 graph explorer 中取得了成功。您可以使用它来测试 Graph API 调用。