PowerShell
Связь с API-интерфейсом RESTful
Поиск…
Вступление
REST означает передачу репрезентативного состояния (иногда пишется «ReST»). Он основан на протоколе связи без кэширования, клиент-сервер и кэшировании, и в основном используется протокол HTTP. Он в основном используется для создания веб-сервисов, которые являются легкими, обслуживаемыми и масштабируемыми. Служба, основанная на REST, называется службой RESTful, а API, которые используются для нее, являются API RESTful. В PowerShell Invoke-RestMethod
используется для борьбы с ними.
Использовать вложенные веб-камеры Slack.com
Определите свою полезную нагрузку для отправки для получения более сложных данных
$Payload = @{ text="test string"; username="testuser" }
Используйте командлет ConvertTo-Json
и Invoke-RestMethod
для выполнения вызова
Invoke-RestMethod -Uri "https://hooks.slack.com/services/yourwebhookstring" -Method Post -Body (ConvertTo-Json $Payload)
Сообщение для hipChat
$params = @{
Uri = "https://your.hipchat.com/v2/room/934419/notification?auth_token=???"
Method = "POST"
Body = @{
color = 'yellow'
message = "This is a test message!"
notify = $false
message_format = "text"
} | ConvertTo-Json
ContentType = 'application/json'
}
Invoke-RestMethod @params
Использование REST с объектами PowerShell для получения и размещения отдельных данных
Получите данные REST и сохраните их в объекте PowerShell:
$Post = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/posts/1"
Измените свои данные:
$Post.title = "New Title"
ОТМЕТЬТЕ данные REST
$Json = $Post | ConvertTo-Json
Invoke-RestMethod -Method Put -Uri "http://jsonplaceholder.typicode.com/posts/1" -Body $Json -ContentType 'application/json'
Использование REST с объектами PowerShell для получения и POST многих элементов
Получите данные REST и сохраните их в объекте PowerShell:
$Users = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/users"
Измените многие элементы в ваших данных:
$Users[0].name = "John Smith"
$Users[0].email = "[email protected]"
$Users[1].name = "Jane Smith"
$Users[1].email = "[email protected]"
ОТПРАВИТЬ все данные REST назад:
$Json = $Users | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "http://jsonplaceholder.typicode.com/users" -Body $Json -ContentType 'application/json'
Использование REST с PowerShell для удаления элементов
Определите элемент, который необходимо удалить, и удалите его:
Invoke-RestMethod -Method Delete -Uri "http://jsonplaceholder.typicode.com/posts/1"