PowerShell - использование API REST Exchange Server 2016 для получения событий календаря - PullRequest
0 голосов
/ 13 марта 2019

У меня есть элементы календаря сценариев почтового ящика ресурса, использующие REST API - но я получаю эту ошибку в Exchange Server 2016 - не знаю, в чем проблема - моя учетная запись имеет роль имитации приложения.

Сообщение об ошибке:

 Invoke-RestMethod : The remote server returned an error: (400) Bad Request.
At line:2 char:28
+ ...              $events = Invoke-RestMethod -Uri $uri -Credential $creds
+                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

скрипт:

$Username = 'Contoso\administrator'
$Password = 'xxxxxxx'
$SecureString = ConvertTo-SecureString -AsPlainText $Password -Force
$creds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Username,$SecureString 
$mtgroom = @("meeting@contoso.com") 
$strCurrentTimeZone = (Get-WmiObject win32_timezone).StandardName
$TZ = [System.TimeZoneInfo]::FindSystemTimeZoneById($strCurrentTimeZone)
$start = (get-date).ToShortDateString()
$end = (get-date).ToShortDateString()
$uri = "https://mail.contoso.com/api/v2.0/users/$mtgroom/calendar/calendarView?startDateTime=$($start)T08:00:00&endDateTime=$($end)T19:30:00"
 $events = Invoke-RestMethod -Uri $uri -Credential $creds

1 Ответ

0 голосов
/ 13 марта 2019

Я думаю, что это вероятно из-за того, как формируются ваши строки даты и времени.В моем окружении я получаю «13.03.2009» от использования (get-date).ToShortDateString().Это может привести к неправильному URL.Я могу ошибаться в зависимости от ваших настроек локализации.

Получаете ли вы лучшие результаты от get-date -Format "MM-dd-yyyy" для ваших дат начала и окончания?


В примере из docs.microsoft.com также используются дефисные даты

GET https://outlook.office.com/api/v2.0/me/calendarview?startDateTime=2014-10-01T01:00:00&endDateTime=2014-10-31T23:00:00&$select=Subject 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...