使用Microsoft Graph API创建Outlook周期性事件遇UnableToDeserializePostBody 400错误
问题分析与解决
Payload存在的问题
你的请求Payload有两处关键错误:
- Body字段不合法:Graph API要求
Body必须包含Content和ContentType属性,不能是空对象。哪怕是空白内容,也需要填写基础结构,示例如下:"Body": { "Content": "", "ContentType": "Text" } - 字段名拼写错误:Recurrence的range部分里的
numberOfOccurences拼写错误,正确字段名为numberOfOccurrences(注意是两个r)。
修正后的完整Payload示例:
{ "Subject": "Blocked By DEV", "Body": { "Content": "", "ContentType": "Text" }, "Start": { "DateTime": "2022-08-30T23:30:00", "TimeZone": "Asia/Calcutta" }, "End": { "DateTime": "2022-08-30T23:45:00", "TimeZone": "Asia/Calcutta" }, "Recurrence": { "pattern": { "type": "WEEKLY", "interval": 1, "daysOfWeek": [ "Monday", "Tuesday" ] }, "range": { "type": "numbered", "startDate": "2022-08-30", "numberOfOccurrences": 3 } } }
获取更详细的错误信息
- 在Graph Explorer中,查看请求详情的「Response Headers」或完整响应内容,通常
innerError字段会包含反序列化失败的具体原因。 - 打开浏览器开发者工具(F12)的「Network」面板,查看该请求的完整响应体,截断的错误细节在这里会完整展示。
- 发送请求时添加
Prefer: odata.include-annotations="*"请求头,可强制返回所有错误细节。
内容的提问来源于stack exchange,提问作者Deepak Singh
相关产品推荐
相关产品推荐

