使用Microsoft Graph API创建Office 365日历事件遇400错误求助
解决Microsoft Graph API创建日历事件时的400 BadRequest错误
看到你遇到的这个问题,虽然错误提示提到了"扩展变更",但实际问题根本和扩展无关——是你的请求体格式不符合Graph API的规范,我帮你梳理几个关键错误点和修正方案:
核心问题分析
start/end字段结构错误:你把dateTime和timeZone嵌套在了额外的dateTime子对象里,这不符合API要求;另外_end的下划线是错误的,应该直接用end。attendees格式错误:这个字段必须是数组类型(即使只有一个参会者),而且type应该用字符串值(比如"required")而不是数字"0"。body.contentType错误:这个属性需要用字符串值(比如"text"或"html"),不能用数字"0"。subject字段:虽然API允许subject为null,但建议填写有意义的内容,避免潜在的格式校验问题。
修正后的请求体
{ "subject": "Event9e890101-30eb-41e1-99ac-aebd453d27a9", "body": { "contentType": "text", "content": "Event9e890101-30eb-41e1-99ac-aebd453d27a9" }, "start": { "dateTime": "2018-05-19T11:17:30.2069056-04:00", "timeZone": "Eastern Standard Time" }, "end": { "dateTime": "2018-05-19T12:17:30.2119221-04:00", "timeZone": "Eastern Standard Time" }, "location": { "displayName": "Your office" }, "attendees": [ { "type": "required", "emailAddress": { "address": "email@calendar.onmicrosoft.com" } } ] }
额外检查项
- 确认你调用的API端点正确:应该是
POST /me/events或者POST /users/{id|userPrincipalName}/events,不要误用到扩展相关的端点。 - 检查请求头里的
Content-Type是否设置为application/json,这也是常见的格式错误诱因。
用修正后的请求体发送,应该就能解决这个400错误了。
内容的提问来源于stack exchange,提问作者user2613228
相关产品推荐
相关产品推荐

