PowerShell
Comunicarse con APIs RESTful
Buscar..
Introducción
REST significa "Representational State Transfer" (Transferencia estatal representativa) (a veces deletreado "ReST"). Se basa en un protocolo de comunicaciones sin caché, cliente-servidor, que se puede almacenar en caché y, en su mayoría, se utiliza el protocolo HTTP. Se utiliza principalmente para crear servicios web que sean livianos, mantenibles y escalables. Un servicio basado en REST se denomina servicio RESTful y las API que se están utilizando son API RESTful. En PowerShell, Invoke-RestMethod
se utiliza para tratar con ellos.
Utilice Slack.com entrantes Webhooks
Defina su carga útil para enviar posibles datos más complejos.
$Payload = @{ text="test string"; username="testuser" }
Use el cmdlet ConvertTo-Json
y Invoke-RestMethod
para ejecutar la llamada
Invoke-RestMethod -Uri "https://hooks.slack.com/services/yourwebhookstring" -Method Post -Body (ConvertTo-Json $Payload)
Publicar mensaje en 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
Uso de REST con objetos de PowerShell para obtener y colocar datos individuales
OBTENGA sus datos REST y almacénelos en un objeto de PowerShell:
$Post = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/posts/1"
Modifique sus datos:
$Post.title = "New Title"
PONER los datos REST de vuelta
$Json = $Post | ConvertTo-Json
Invoke-RestMethod -Method Put -Uri "http://jsonplaceholder.typicode.com/posts/1" -Body $Json -ContentType 'application/json'
Usando REST con objetos de PowerShell para GET y POST muchos artículos
OBTENGA sus datos REST y almacénelos en un objeto de PowerShell:
$Users = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/users"
Modificar muchos elementos en sus datos:
$Users[0].name = "John Smith"
$Users[0].email = "[email protected]"
$Users[1].name = "Jane Smith"
$Users[1].email = "[email protected]"
POST todos los datos REST de vuelta:
$Json = $Users | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "http://jsonplaceholder.typicode.com/users" -Body $Json -ContentType 'application/json'
Uso de REST con PowerShell para eliminar elementos
Identifique el elemento que se va a eliminar y elimínelo:
Invoke-RestMethod -Method Delete -Uri "http://jsonplaceholder.typicode.com/posts/1"