Отправляйте вложения в комнату / пространство команд Cisco через Powershell - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь отправить сообщения с вложениями через Powershell в Cisco Team Room / Space. Я нашел пример кода для отправки текстовых сообщений, который работает нормально:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

#secure token of Webex bot
$Ciscobottoken = "TOKEN-PLACEHOLDER"
#roomID of destination in Webex Teams
$roomID= "ROOM-ID-PLACEHOLDER"

$body = @{
roomId=$roomID
text="Hello World"
}

$json=$body | ConvertTo-Json

Invoke-RestMethod -Method Post `
-Headers @{"Authorization"="Bearer $Ciscobottoken"} `
-ContentType "application/json" -Body $json `
-Uri "https://api.ciscospark.com/v1/messages"

Теперь я попытался расширить код с помощью документации Cisco (https://developer.webex.com/docs/api/basics), чтобы иметь возможность отправлять файлы также. К сожалению, примеры кода предназначены только для cURL и Python. Я не смог преобразовать это в Powershell. Я попытался добавить параметр "files" в тело:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

#secure token of Webex bot
$Ciscobottoken = "TOKEN-PLACEHOLDER"
#roomID of destination in Webex Teams
$roomID= "ROOM-ID-PLACEHOLDER"

$body = @{
roomId=$roomID
text="Hello World"
files='C:\temp\Test.png'
}

$json=$body | ConvertTo-Json

Invoke-RestMethod -Method Post `
-Headers @{"Authorization"="Bearer $Ciscobottoken"} `
-ContentType "application/json" -Body $json `
-Uri "https://api.ciscospark.com/v1/messages"

Я также попытался указать тип:

files='C:\temp\Test.png;type=image/png'

Я всегда получаю следующую ошибку:

Invoke-RestMethod : {"message":"One (or more) of the arguments is invalid.","errors":[{"description":"One (or more) of the arguments is 
invalid."}],"trackingId":"ROUTER_5EA96653-3CD3-01BB-00C5-1F0DAD3400C5"}
In C:\Scripts\Teams-API.ps1:40 Zeichen:1
+ Invoke-RestMethod -Method Post `
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Может кто-нибудь помочь мне с этой проблемой?

Спасибо

Пьер

...