[英]How to resolve 400 error with bad request in update api when it is deployed
[英]Microsoft graph api update event returns HTTP error 400 bad request
我在 Pega 8.6.4 中使用 MS Graph API 来更新活动开始和结束日期、参与者和位置(如果需要)使用 PATCH,但总是会收到 HTTP 错误 400 BAD REQUEST。 不确定发生了什么,因为在我的应用程序中我能够创建一个事件并取消它。
Request data:
{Request Message={"subject":"X",
"start":{"timeZone":"W. Europe Standard Time","DateTime2":"20220727T103000.000 GMT"},
"end":{"timeZone":"W. Europe Standard Time","DateTime2":"20220727T113000.000 GMT"},
"location":{"uniqueIdType":"private","displayName":"X","locationType":"default","uniqueId":"X"},
"body":{"contentType":"html",
"content":"<html> \t<body> \t\t<p>Afspraak met: X</p> \t\t<p>X \nANTWERPEN </p> \t\t<p>E-mailadres: X</p> \t\t<p>Telefoonummer: X</p> \t\t<p>Klantnummer: 45</p> </body> </html> "}}}
Method: PATCH
URL: https://graph.microsoft.com/v1.0/users/{userprincipalname}/events/{EventID}
Request header: {Content-Type = "application/json"}
这里的问题在于start
属性的属性。 正如您可以看到事件 object 的此文档,有一个名为 start 的属性来指定事件的开始时间。 如果您观察到,它的类型是DateTimeTimeZone object。 如果您检查此 object 的属性,您可以看到我们有dateTime
和timeZone
。
现在,如果您将这些属性与您在 JSON 中提供的数据进行比较,您可以看到在您的 JSON 数据中,该属性是DateTime2
但根据文档,它只有上述两个属性,其中一个是dateTime
,所以只需修改您的 JSON 数据属性为dateTime
和值,类似于此处与示例共享的格式。
下面的屏幕截图是从您的数据中使用的示例 JSON,它是成功的。
修改 JSON:
{
"subject": "X",
"start": {
"timeZone": "W. Europe Standard Time",
"dateTime": "2022-07-27T10:30:00.0000000"
},
"end": {
"timeZone": "W. Europe Standard Time",
"dateTime": "2022-07-27T11:30:00.0000000"
},
"location": {
"uniqueIdType": "private",
"displayName": "X",
"locationType": "default",
"uniqueId": "X"
},
"body": {
"contentType": "html",
"content": "<html> <body> <p>Afspraak met: X</p> <p>X ANTWERPEN </p> <p>E-mailadres: X</p> <p>Telefoonummer: X</p> <p>Klantnummer: 45</p> </body> </html> "
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.