PowerShell
Communication avec les API RESTful
Recherche…
Introduction
REST signifie Representational State Transfer (parfois orthographié «ReST»). Il s'appuie sur un protocole de communication sans serveur, client-serveur, apte à la mise en cache et le protocole HTTP est principalement utilisé. Il est principalement utilisé pour créer des services Web légers, maintenables et évolutifs. Un service basé sur REST est appelé service RESTful et les API utilisées sont des API RESTful. Dans PowerShell, Invoke-RestMethod
est utilisé pour les gérer.
Utilisez les Webhooks entrants Slack.com
Définissez votre charge utile pour envoyer d'éventuelles données plus complexes
$Payload = @{ text="test string"; username="testuser" }
Utilisez l'applet de ConvertTo-Json
et Invoke-RestMethod
pour exécuter l'appel
Invoke-RestMethod -Uri "https://hooks.slack.com/services/yourwebhookstring" -Method Post -Body (ConvertTo-Json $Payload)
Poster un message à 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
Utilisation de REST avec des objets PowerShell pour obtenir et mettre des données individuelles
OBTENEZ vos données REST et stockez-les dans un objet PowerShell:
$Post = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/posts/1"
Modifiez vos données:
$Post.title = "New Title"
REMETTRE les données REST
$Json = $Post | ConvertTo-Json
Invoke-RestMethod -Method Put -Uri "http://jsonplaceholder.typicode.com/posts/1" -Body $Json -ContentType 'application/json'
Utilisation de REST avec des objets PowerShell pour GET et POST de nombreux éléments
OBTENEZ vos données REST et stockez-les dans un objet PowerShell:
$Users = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/users"
Modifier plusieurs éléments dans vos données:
$Users[0].name = "John Smith"
$Users[0].email = "[email protected]"
$Users[1].name = "Jane Smith"
$Users[1].email = "[email protected]"
POST toutes les données REST en arrière:
$Json = $Users | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "http://jsonplaceholder.typicode.com/users" -Body $Json -ContentType 'application/json'
Utilisation de REST avec PowerShell pour supprimer des éléments
Identifiez l'élément à supprimer et supprimez-le:
Invoke-RestMethod -Method Delete -Uri "http://jsonplaceholder.typicode.com/posts/1"