调用Microsoft Calendar创建事件API时遇UnableToDeserializePostBody错误
解决Microsoft Graph Calendar创建事件API的400 Bad Request问题
错误原因分析
返回的UnableToDeserializePostBody错误表明请求内容格式不符合API规范,导致服务端无法解析请求体。经检查,存在两处关键问题:
具体修复步骤
修正请求路径语法错误:
原请求路径POST /users/{id}}/calendar/events多了一个闭合大括号,正确路径应为:POST /users/{id}/calendar/events修正请求体
body字段的属性错误:
请求体中body对象误用了subject属性,Microsoft Graph要求该字段应为contentType,取值为HTML或Text。修正后的完整请求体如下:{ "isOnlineMeeting": true, "subject": "Work Today", "attendees": [ { "emailAddress": { "address": "mohit.gupta@caleedo.com", "name": "Mohit Gupta" }, "type": "required" } ], "start": { "dateTime": "2023-05-04T16:00:00", "timeZone": "India Standard Time" }, "onlineMeetingProvider": "teamsForBusiness", "end": { "dateTime": "2023-05-04T16:30:00", "timeZone": "India Standard Time" }, "body": { "contentType": "HTML", "content": "I am working hard" } }
额外验证建议
- 确认
access token已授予Calendars.ReadWrite权限 - 检查请求头
Content-Type严格设置为application/json - 验证
dateTime格式符合ISO 8601标准,且时区名称与Microsoft Graph支持的列表一致
内容的提问来源于stack exchange,提问作者Mohit Gupta
相关产品推荐
相关产品推荐

