PowerShell
Kommunikera med RESTful API: er
Sök…
Introduktion
REST står för Representativ statlig överföring (ibland stavad "ReST"). Det förlitar sig på ett statslöst, klient-server, cacheable kommunikationsprotokoll och mestadels HTTP-protokoll används. Det används främst för att bygga webbtjänster som är lätta, underhållbara och skalbara. En tjänst baserad på REST kallas en RESTful-tjänst och API: erna som används för den är RESTful-API: er. I PowerShell används Invoke-RestMethod
för att hantera dem.
Använd Slack.com Inkommande webhooks
Definiera din nyttolast för att skicka eventuella mer komplexa data
$Payload = @{ text="test string"; username="testuser" }
Använd ConvertTo-Json
cmdlet och Invoke-RestMethod
att utföra samtalet
Invoke-RestMethod -Uri "https://hooks.slack.com/services/yourwebhookstring" -Method Post -Body (ConvertTo-Json $Payload)
Skicka meddelande till 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
Använda REST med PowerShell-objekt för att hämta och sätta individuella data
Skaffa dina REST-data och lagra i ett PowerShell-objekt:
$Post = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/posts/1"
Ändra dina uppgifter:
$Post.title = "New Title"
Sätt tillbaka REST-data
$Json = $Post | ConvertTo-Json
Invoke-RestMethod -Method Put -Uri "http://jsonplaceholder.typicode.com/posts/1" -Body $Json -ContentType 'application/json'
Använda REST med PowerShell-objekt för att få och POST många objekt
Skaffa dina REST-data och lagra i ett PowerShell-objekt:
$Users = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/users"
Ändra många objekt i dina data:
$Users[0].name = "John Smith"
$Users[0].email = "[email protected]"
$Users[1].name = "Jane Smith"
$Users[1].email = "[email protected]"
POSTA all REST-data tillbaka:
$Json = $Users | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "http://jsonplaceholder.typicode.com/users" -Body $Json -ContentType 'application/json'
Använd REST med PowerShell för att radera objekt
Identifiera objektet som ska tas bort och ta bort det:
Invoke-RestMethod -Method Delete -Uri "http://jsonplaceholder.typicode.com/posts/1"