PowerShell
Comunicazione con API RESTful
Ricerca…
introduzione
REST sta per Representational State Transfer (a volte si scrive "ReST"). Si basa su un protocollo di comunicazione memorizzabile da zero, client-server e in cache e viene utilizzato principalmente il protocollo HTTP. Viene principalmente utilizzato per creare servizi Web leggeri, manutenibili e scalabili. Un servizio basato su REST è chiamato servizio RESTful e le API che vengono utilizzate per questo sono API RESTful. In PowerShell, Invoke-RestMethod
viene utilizzato per Invoke-RestMethod
.
Usa i Webhook in arrivo su Slack.com
Definisci il tuo carico utile per inviare possibili dati più complessi
$Payload = @{ text="test string"; username="testuser" }
Utilizzare il cmdlet ConvertTo-Json
e Invoke-RestMethod
per eseguire la chiamata
Invoke-RestMethod -Uri "https://hooks.slack.com/services/yourwebhookstring" -Method Post -Body (ConvertTo-Json $Payload)
Invia un messaggio a 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
Utilizzo di REST con oggetti PowerShell per ottenere e inserire singoli dati
OTTIENI i tuoi dati REST e archivia in un oggetto PowerShell:
$Post = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/posts/1"
Modifica i tuoi dati:
$Post.title = "New Title"
Metti i dati REST indietro
$Json = $Post | ConvertTo-Json
Invoke-RestMethod -Method Put -Uri "http://jsonplaceholder.typicode.com/posts/1" -Body $Json -ContentType 'application/json'
Utilizzare REST con oggetti PowerShell per OTTENERE e POSTARE molti articoli
OTTIENI i tuoi dati REST e archivia in un oggetto PowerShell:
$Users = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/users"
Modifica molti articoli nei tuoi dati:
$Users[0].name = "John Smith"
$Users[0].email = "[email protected]"
$Users[1].name = "Jane Smith"
$Users[1].email = "[email protected]"
POST tutti i dati REST indietro:
$Json = $Users | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "http://jsonplaceholder.typicode.com/users" -Body $Json -ContentType 'application/json'
Utilizzare REST con PowerShell per eliminare elementi
Identifica l'elemento che deve essere cancellato ed eliminalo:
Invoke-RestMethod -Method Delete -Uri "http://jsonplaceholder.typicode.com/posts/1"