我尝试使用Powershell通过REST-API访问Exchange 2016 CU5环境的日历。 GET方法工作正常,没有错误,但现在我尝试用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"": ""otto.outlooktest@hft-stuttgart.de"",
""Name"": ""Otto Outlooktest""
},
""Type"": ""Required""
}
]
}}"
Invoke-RestMethod -Uri $url -Method Post -Credential $cred -ContentType $content -Body $body
我将它放入.ps1文件并在我的Exchange命令行管理程序中执行。
它打开一个弹出窗口让我输入我的凭据,但之后我总是收到错误消息“400无效请求”。
我已经尝试了几篇着作,但总是一样。
任何人都知道出了什么问题?
问候,迈克尔
答案 0 :(得分:0)
我建议你摆脱事件:因为这不是必需的(例如,只需检查任何文档样本或Graph Explorer样本)。此外,如果您使用fiddler捕获您的一个请求并查看从服务器返回的完整响应,它通常会告诉您发送的请求特别错误。
答案 1 :(得分:0)
我解决了。 REST API不喜欢IANA时区。而不是“欧洲/柏林”,我把“W.欧洲标准时间”。 问候, 迈克尔