团队:调用 Webrequest 向团队发送 base64 字符串 (png)

Clo*_*g86 2 powershell microsoft-teams

我正在尝试向我们的团队频道发送一个 base64 字符串,它是一个 png,具有“传入 Webhook”设置。

消息已发送到频道,但未显示图像,当我搜索此消息时,似乎无法将图像或任何其他类型的附件作为 base64 字符串发送到团队?

对 json 来说非常新,并且通常使用/使用 rest 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
Run Code Online (Sandbox Code Playgroud)

但它没有用,还尝试了下面的代码,对身体进行了更改:

$Body = @{
  "type" = "string",
  "contentEncoding" = "$base64",
  "contentMediaType" = "image/png"
}
Run Code Online (Sandbox Code Playgroud)

它也不起作用。

“不起作用”= 发布到团队但根本不显示图像。

更新:

能够解决这个问题,有点,但仍然希望得到答复;

https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/cards/cards-reference

我想你可以“只”使用他们的卡通过他们的“传入网络钩子”发送数据,我想使用的卡是“英雄卡”,因为数据是带有图形图像的警报,但是它是使用“连接器”时不支持:(

我找到了这个网站;

https://github.com/grafana/grafana/issues/13121

我已经使用了那里的示例,但是它要求我必须将图片(采用 base64 格式)发送到 S3,以便用户能够查看更大的图片。

小智 5

Webhook 支持Office 365 连接器卡。请发送以下留言卡 JSON,如果您遇到任何问题,请告诉我们。

 {
    "@type": "MessageCard",
    "text": "Here are test images",
    "sections": [
        {
            "images": [
                {
                    "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMeSURBVDhPLVJbTBRXAL135s7Ozs7Ozi6z7AK7sCobCa2rmBabAEGNBlgjCr6t1qS26RIbH0lLH3y1fLQJsdVojPGjtjGGhKgfJIZoIhhEEg2+wagsYmlE2Ar7mNkddmbunel+9CTn4+Tk/Jxz4F8/diKatiDE2MKE0JARmrcNdXfVrVuj6xoFTVWRWRvF2YCkJftLms+vjgFs+gxlzD+KPDxEiIaQIiZGmJRtOXTmyMG9O1ox1igAiaZiBhbcYiwfW/fzWPHHQNabxFR/WTxj+ihRdPAOBtEWwHp5Q+uFX7sOf7odY4xoQChap1lJ5CHDbqz/c+x9KPRuYTx07+ayGVMstXu89IFNdQQTy7IcxcsHnryocRBGcBc0RIydgQGUfySsOlD1E55KX6mVW+O9Wc1y8bbZqZdOl5t6rxgZFWs6TEghauKuFKhQc3mMTQYCn5Y+6W3vkDrAkxmgqB1n7+96vCLgZpHHf6731pvnz+gju6PeIoEvLZscuNS6tcXJmj6Jd7tYJ8k2lf8wmgswb+ZpB2dquaWiyqex4t09w21hc+AfJqnocG+0feb1dHIh9W8mKxMcrKhS0klRcLidRXhP10RkA4hPM/KSwYnA0Nnk4lZ3Orw4GqyO9F0fgf3Xh7/4vKPzxFfffHd8Lv4uWB0A/8Ms8M7kwvr7dpDJsPMpDTmAovh5JjE83LL+gxuDY/D3WCyyY3/saNfmVR+eunh6cjwuulyCSzSWTJVnNcR46Zz/ZmELyEzPYoYrVAsMAvIG5DgqEPQs3u7747fvJ1Lp7dG2moY1Ly8PPu0dwYCyZbO6RsZl1mpHPlveWFmOSB5YFsXbodNuaTIFKEQcnrl7g91f75OqVgdcFdGeL8M10tz41NDAKzSX5LLGtb/pxE5Xoz1tVIcRbVBqDhRygptKEZjVjEUdqsT65dzJzzq/hYWH1kfCK4WmtqqMQXOJ2aCS6n2oDbWVHhXe4nAl5ija0KzCl6ONG2zQMiB69WJK8PobW1oitXWNH9U279tV6uQldtYbCsoJ1Un0B/P48Ccla835q6DERABl1f8A6bloNT9MI68AAAAASUVORK5CYII="
                }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)