Чтобы решить эту проблему, мы сначала сделали запрос GET, чтобы получить список идентификаторов уведомлений в очереди часов Lametric:
$request = @{uri = 'http://192.168.37.75:8080/api/v2';
Method = 'GET';
Headers = @{Authorization = 'Basic <base64-encoded-authentication-string>'; "Content-Type" = 'application/json' }
}
$notifications = invoke-webrequest -UseBasicParsing @request
$request = @{uri = 'http://192.168.37.75:8080/api/v2/device/notifications';
Method = 'GET';
Headers = @{Authorization = 'Basic <base64-encoded-authentication-string>'; "Content-Type" = 'application/json' }
}
$notifications = invoke-webrequest -UseBasicParsing @request
Это вернет объект с содержимым свойства, содержащим строку JSON,Это может быть преобразовано в список объектов:
$notification = $notifications.Content | ConvertFrom-Json
Взяв первый элемент из этого списка, мы можем сгенерировать URI для вызова
$notificationUri = 'http://192.168.37.75:8080/api/v2/device/notifications/' + $notification[0].ID;
и использовать его для отклонения уведомления
$request = @{uri = $notificationUri
Method = 'DELETE';
Headers = @{Authorization = 'Basic <base64-encoded-authentication-string>'; "Content-Type" = 'application/json' }
}
invoke-webrequest -UseBasicParsing @request