2017-10-09 7 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 invalid request」というエラーメッセージが表示されます。

私はすでにいくつかの文章を試しましたが、常に同じです。

何が問題なのでしょうか?

挨拶、マイケル

+0

資格情報なしで実行しようとしましたか?たとえば、Exchange管理者としてログインするか、[実行者]ウィンドウからログインしますか?私たちは可能性を排除することができます。 –

答えて

0

私はあなたがイベントを取り除くことをお勧め:それは(単にドキュメントのサンプルやグラフExplorerのサンプルのいずれかをチェックするなど)が必要ではないとして。また、フィドラーを使用して要求の1つをキャプチャし、サーバーから戻ってきた完全な応答を見ると、送信されている要求に特に何が間違っているかが伝えられます。

+0

私は、フィドラーで試してみました。私は次のことを知っています:予期しない 'PrimitiveValue'ノードがJSONリーダーから読み込まれました。 「StartObject」ノードが必要です。このメールボックスのREST APIは現在プレビュー中です。プレビューREST APIの詳細については、https://dev.outlook.com/をご覧ください。 – voelkeml

0

私はそれを解決しました。 REST APIでは、IANAタイムゾーンが嫌いです。 「ヨーロッパ/ベルリン」の代わりに「W.ヨーロッパ標準時」を入れました。 グリーティング、 マイケル

関連する問題