Microsoft Exchange REST API使用Powershell的POST编写日历事件
我试图通过使用Powershell的REST-API访问Exchange 2016 CU5环境的日历。 GET方法正常工作没有错误,但现在我试图用POST方法编写日历事件,它不会工作。这里是我的代码:Microsoft Exchange REST API使用Powershell的POST编写日历事件
$cred = Get-Credential
$url = "https://myexchangeserver.de/api/v2.0/me/events"
$content = "application/json"
$body = "{
""Event"": {
""Subject"": ""Testtermin REST"",
""Body"": {
""ContentType"": ""HTML"",
""Content"":""Testtermin REST""
},
""Start"": {
""DateTime"": ""2017-10-10T16:00:00"",
""TimeZone"": ""Europe/Berlin""
},
""End"": {
""DateTime"": ""2017-10-10T16:30:00"",
""TimeZone"": ""Europe/Berlin""
},
""Attendees"": [
{
""EmailAddress"": {
""Address"": ""[email protected]"",
""Name"": ""Otto Outlooktest""
},
""Type"": ""Required""
}
]
}}"
Invoke-RestMethod -Uri $url -Method Post -Credential $cred -ContentType $content -Body $body
我把它放到.ps1文件中并在我的Exchange命令行管理程序中执行它。
它打开一个弹出窗口让我输入我的凭证,但之后我总是收到一条错误消息“400无效请求”。
我已经尝试了几个着作,但总是一样的。
任何人都知道什么是错的?
问候,迈克尔
我建议你摆脱事件的:因为这是没有必要(例如,只检查任何文档样品或图形浏览器的样品)。此外,如果您使用Fiddler捕获您的某个请求并查看从服务器返回的完整响应,它通常会告诉您发送的请求特别错误。
我试着用小提琴试过,我得到的结果如下:从JSON阅读器读取时发现了一个意外的'PrimitiveValue'节点。预计'StartObject'节点。此邮箱的REST API当前处于预览状态。您可以在https://dev.outlook.com/找到有关预览REST API的更多信息。 – voelkeml
我解决了它。 REST API不喜欢IANA时区。而不是“欧洲/柏林”,我放入“欧洲标准时间”。 问候, 迈克尔
你试过没有凭据运行它吗?例如,通过以Exchange管理员身份或从运行身份窗口登录?这样我们可以消除可能性 –