Я пытаюсь отправить строку base64, являющуюся png, нашему каналу команд, в котором есть настройка «Incoming Webhook».
Сообщение отправляется на канал, но изображение не отображается, и когда я искал его, кажется, что я не могу отправить изображение или любой другой тип вложения в виде строки base64 в Команды?
Чрезвычайно новый для json и потребляющий / использующий остальные API в целом.
Я понятия не имею, как указать телу, что строка является строкой base64, и ожидаемый вывод должен быть png-файлом.
Попробовал это:
$webhook = 'URLtoTeamsWebhook'
$base64 = "longBase64string"
$Body = @{
"text" = "Hello World! from PowerShell"
"imageData" = "$base64"
}
$params = @{
Headers = @{'accept'='application/json'}
Body = $Body | convertto-json
Method = 'Post'
URI = $webhook
}
Invoke-RestMethod @params
Но это не сработало, также попробовал приведенный ниже код с изменениями в теле:
$Body = @{
"type" = "string",
"contentEncoding" = "$base64",
"contentMediaType" = "image/png"
}
и это тоже не сработало.
"Не работает" = отправка в команды, но не показ изображения вообще.
Обновление:
смог разобраться, вроде как, но все равно был бы благодарен за ответ;
https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/cards/cards-reference
Я полагаю, что вы можете "только" использовать их карты для отправки данных через их "Входящий веб-крючок", и я хотел бы использовать карту "Карта героя", поскольку данные представляют собой сигнал тревоги с изображением графика, ОДНАКО это не поддерживается при использовании «соединителя»: (
Я нашел этот сайт;
https://github.com/grafana/grafana/issues/13121
и я использовал там пример, который требует от меня отправки изображения (в формате base64) на S3, чтобы пользователи могли просматривать увеличенное изображение.