2017-10-09 59 views
0

我试图通过使用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无效请求”。

我已经尝试了几个着作,但总是一样的。

任何人都知道什么是错的?

问候,迈克尔

+0

你试过没有凭据运行它吗?例如,通过以Exchange管理员身份或从运行身份窗口登录?这样我们可以消除可能性 –

回答

0

我建议你摆脱事件的:因为这是没有必要(例如,只检查任何文档样品或图形浏览器的样品)。此外,如果您使用Fiddler捕获您的某个请求并查看从服务器返回的完整响应,它通常会告诉您发送的请求特别错误。

+0

我试着用小提琴试过,我得到的结果如下:从JSON阅读器读取时发现了一个意外的'PrimitiveValue'节点。预计'StartObject'节点。此邮箱的REST API当前处于预览状态。您可以在https://dev.outlook.com/找到有关预览REST API的更多信息。 – voelkeml

0

我解决了它。 REST API不喜欢IANA时区。而不是“欧洲/柏林”,我放入“欧洲标准时间”。 问候, 迈克尔

相关问题