PowerShell
Communiceren met RESTful API's
Zoeken…
Invoering
REST staat voor Representational State Transfer (soms gespeld als "ReST"). Het vertrouwt op een stateless, client-server, cacheable communicatieprotocol en meestal wordt HTTP-protocol gebruikt. Het wordt voornamelijk gebruikt om webservices te bouwen die lichtgewicht, onderhoudbaar en schaalbaar zijn. Een op REST gebaseerde service wordt een RESTful-service genoemd en de API's die daarvoor worden gebruikt, zijn RESTful API's. In PowerShell wordt Invoke-RestMethod
gebruikt om hiermee om te gaan.
Gebruik Slack.com Inkomende webhooks
Definieer uw lading om te verzenden voor mogelijk complexere gegevens
$Payload = @{ text="test string"; username="testuser" }
Gebruik ConvertTo-Json
cmdlet en Invoke-RestMethod
om het gesprek uit te voeren
Invoke-RestMethod -Uri "https://hooks.slack.com/services/yourwebhookstring" -Method Post -Body (ConvertTo-Json $Payload)
Bericht plaatsen op 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 gebruiken met PowerShell Objects om individuele gegevens te krijgen en te plaatsen
Haal uw REST-gegevens op en sla ze op in een PowerShell-object:
$Post = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/posts/1"
Wijzig uw gegevens:
$Post.title = "New Title"
Plaats de REST-gegevens terug
$Json = $Post | ConvertTo-Json
Invoke-RestMethod -Method Put -Uri "http://jsonplaceholder.typicode.com/posts/1" -Body $Json -ContentType 'application/json'
REST gebruiken met PowerShell-objecten om veel items te KRIJGEN en te POSTEN
Haal uw REST-gegevens op en sla ze op in een PowerShell-object:
$Users = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/users"
Wijzig veel items in uw gegevens:
$Users[0].name = "John Smith"
$Users[0].email = "[email protected]"
$Users[1].name = "Jane Smith"
$Users[1].email = "[email protected]"
POST alle REST-gegevens terug:
$Json = $Users | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "http://jsonplaceholder.typicode.com/users" -Body $Json -ContentType 'application/json'
REST gebruiken met PowerShell om items te verwijderen
Identificeer het item dat moet worden verwijderd en verwijder het:
Invoke-RestMethod -Method Delete -Uri "http://jsonplaceholder.typicode.com/posts/1"