Microsoft Graph创建Planner任务时dueDateTime参数报错咨询
Planner任务创建报错:dueDateTime格式问题解析
这个错误的含义非常明确:你传入的dueDateTime参数格式不符合Microsoft Graph API的要求。API在解析JSON请求体时,预期dueDateTime是一个原始字符串值(即符合ISO 8601标准的日期时间字符串),但你传了一个包含dateTime和timeZone的嵌套对象,这直接导致了解析失败。
问题根源
你当前请求体里的dueDateTime写法是错误的:
"dueDateTime":{ "dateTime":"2021-08-29T04:00:00:00Z", "timeZone":"GMT+1" }
另外注意你的dateTime值里多了一个冒号(正确格式应该是2021-08-29T04:00:00Z),不过这不是核心问题,核心是嵌套对象的格式不符合API要求。
正确的写法
Planner的Graph API要求dueDateTime直接传入ISO 8601格式的日期时间字符串,不需要单独指定时区——字符串中的Z代表UTC时区,如果你需要对应GMT+1的时间,直接转换为UTC时间即可。
修正后的完整请求体如下:
{ "planId":"uiceFoBwgUmRrejVaf0z1ZcADEOr", "title":"test task", "assignments":{ "caf39f72-6600-41f7-a30a-2574cfa831af":{ "@odata.type":"#microsoft.graph.plannerAssignment", "orderHint":" !" } }, "dueDateTime": "2021-08-29T03:00:00Z" }
(注:我把GMT+1的2021-08-29T04:00:00转换为了UTC的2021-08-29T03:00:00Z,Planner会自动根据用户所在时区调整显示)
总结
这个问题完全是dueDateTime的格式错误导致的,不需要额外添加任何参数。只要把嵌套对象改成符合ISO 8601标准的字符串,就能解决这个报错。
内容的提问来源于stack exchange,提问作者user14712167
相关产品推荐
相关产品推荐

