PowerShell
Komunikacja z interfejsami API RESTful
Szukaj…
Wprowadzenie
REST to skrót od Representative State Transfer (czasami pisane „ReST”). Opiera się on na bezstanowym, klienckim serwerze komunikacyjnym, buforowanym protokole komunikacyjnym i używany jest głównie protokół HTTP. Służy głównie do tworzenia lekkich, łatwych w utrzymaniu i skalowalnych usług internetowych. Usługa oparta na REST nazywa się usługą RESTful, a używane do niej interfejsy API są interfejsami API RESTful. W PowerShell Invoke-RestMethod
służy do radzenia sobie z nimi.
Użyj przychodzących haczyków Slack.com
Zdefiniuj swoją ładowność, aby wysłać ewentualne bardziej złożone dane
$Payload = @{ text="test string"; username="testuser" }
Użyj polecenia cmdlet ConvertTo-Json
i Invoke-RestMethod
aby wykonać połączenie
Invoke-RestMethod -Uri "https://hooks.slack.com/services/yourwebhookstring" -Method Post -Body (ConvertTo-Json $Payload)
Wyślij wiadomość do 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
Używanie REST z obiektami PowerShell do pobierania i umieszczania poszczególnych danych
Pobierz swoje dane REST i zapisz w obiekcie PowerShell:
$Post = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/posts/1"
Zmodyfikuj swoje dane:
$Post.title = "New Title"
Odłóż dane REST z powrotem
$Json = $Post | ConvertTo-Json
Invoke-RestMethod -Method Put -Uri "http://jsonplaceholder.typicode.com/posts/1" -Body $Json -ContentType 'application/json'
Używanie REST z obiektami PowerShell, aby uzyskać i wysłać wiele elementów
Pobierz swoje dane REST i zapisz w obiekcie PowerShell:
$Users = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/users"
Zmodyfikuj wiele pozycji w swoich danych:
$Users[0].name = "John Smith"
$Users[0].email = "[email protected]"
$Users[1].name = "Jane Smith"
$Users[1].email = "[email protected]"
POST wszystkie dane REST z powrotem:
$Json = $Users | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "http://jsonplaceholder.typicode.com/users" -Body $Json -ContentType 'application/json'
Używanie REST z PowerShell do usuwania elementów
Zidentyfikuj element do usunięcia i usuń go:
Invoke-RestMethod -Method Delete -Uri "http://jsonplaceholder.typicode.com/posts/1"