Teams:Invoke-Webrequest 向 Teams 发送 base64 字符串 (png)

2023-11-29

我正在尝试将一个 png 格式的 base64 字符串发送到我们的团队频道,该频道具有“传入 Webhook”设置。

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

对于 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

但它不起作用,还尝试了下面的代码并对正文进行了更改:

$Body = @{
  "type" = "string",
  "contentEncoding" = "$base64",
  "contentMediaType" = "image/png"
}

而且它也不起作用。

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

Update:

能够弄清楚这一点,但仍然希望得到答复;

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

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

我找到了这个网站;

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

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


网络钩子支持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="
                }
            ]
        }
    ]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Teams:Invoke-Webrequest 向 Teams 发送 base64 字符串 (png) 的相关文章

  • Windows PowerShell 查找文件中的重复行

    我需要使用 powershell 查找文本文件中的重复值 假设文件内容是 Apple Orange Banana Orange Orange 期望的输出应该是 Orange Orange 您还可以使用 Group Object cmdlet
  • PowerShell:使用 Invoke-Expression 管理错误

    我尝试弄清楚如何确定使用 Invoke Expression 的命令抛出是否失败 即使变量 LASTEXITCODE 或 ErrorVariable 也对我没有帮助 例如 PS C gt cmd cat c xxx txt 使用 Invok
  • 将 Powershell 对象的类型名称从 PSCustomObject 更改为我选择的名称?

    我有一个使用自定义对象的脚本 我用这样的伪构造函数创建它们 function New TestResult trProps name repo vcs Skipped clean New StageResult This is anothe
  • Powershell Invoke-SSHCommand:使用“1”个参数调用“EndExecute”时出现异常

    我正在尝试通过 powershell 中的 Posh SSH 模块连接到 Netscaler SDX 服务器 以搜索特定文件 然后下载它 如果我用 putty 连接到服务器 它就可以工作 然后我可以输入 shell 来打开普通的 bash
  • 如何在Powershell控制台中分配多行字符串

    当我在 powershell 控制台中输入此内容时 test Test Test 并且输入多次 它会一直打印 gt gt 所以我永远无法完成命令 该怎么办 应该是行中的第一件事 或者它被认为只是字符串的一部分 test Test Test
  • 禁止非 PowerShell 命令的输出?

    我正在运行命令 hg st 然后检查它是 LASTEXITCODE检查当前目录中 Mercurial 的可用性 我不关心它的输出 也不想将它展示给我的用户 如何抑制所有输出 成功或错误 由于 Mercurial 不是 PowerShell
  • 如何使用我自己的自定义身份验证服务使用团队机器人对用户进行身份验证?

    我在 azure 上创建了一个机器人 并在机器人注册通道中注册了它 现在 我想使用我自己托管的自定义身份验证服务 例如 https domainname auth 来使用机器人对用户进行身份验证 我不知道该怎么做 我已阅读 bot 框架文档
  • 为管道重用自定义对象时出现意外结果

    A while ago I changed my Join Object https stackoverflow com a 45483110 1701026 cmdlet which appeared to cause a bug whi
  • 从 Powershell 更新计划任务脚本

    我正在尝试编写一个每天运行一次的 Powershell 脚本 它将执行的众多功能之一是确保脚本本身是最新的 我的问题是 由于我对脚本进行了版本控制 因此我需要更新从脚本中创建的计划任务 我在这里考虑了两种不同的方法 其中我也无法弄清楚 我最
  • 全局变量用例

    我有几个脚本和模块 它们使用全局变量来完成很多事情 我的日志记录可以采用以下三种形式之一 简洁 详细和验证 没有实际操作的详细日志记录 仅验证提供的数据 我还有许多函数 它们根据运行的上下文 用户或机器 而做出不同的响应 并且正在执行的操作
  • PSExec 中的会话 ID

    Psexec 无法在远程会话上为我显示记事本 GUI 因此 我尝试获取会话 ID 如下所示 c Users Amitra Downloads PSTools gt PsExec u administrator p force 135 20
  • 如何从 PowerShell 指定应用程序池身份用户和密码

    我在自动化 Web 应用程序设置和使用应用程序池标识适当配置 IIS 方面遇到了很多困难 我在用 PowerShell 编写的 Web 应用程序部署脚本中执行此操作 我的要求是我需要 PowerShell 脚本将应用程序池身份用户设置为特定
  • Powershell:根据属性过滤属性

    我对 PowerShell 的自学经验有限 所以这可能是一些基本的东西 但我似乎无法正确理解 我在 Active Directory 中 需要提取电子邮件地址不以 SamAccountName 开头的用户列表 因此 如果您的登录名是 jdo
  • 使用 powershell 编辑 XML

    好吧 我感觉自己像个大白痴 为了工作中的管理目的 我使用 Powershell 已经有一段时间了 也就是说 编写脚本不是我的强项 现在 我正在尝试编写一个 PS 脚本 将一个部分添加到一堆机器上的 XML 中 以添加设置来解决我们在某个应用
  • 使用 powershell 版本 2 查询 AD

    我们有由 Windows 7 和 Windows 10 组成的混合桌面操作系统 我有一个登录脚本 该脚本从每次用户登录时运行的 powershell 脚本收集各种信息 Windows 7 powershell 仅是版本 2 这意味着我无法使
  • 通过 Powershell 拆分 9 GB csv 文件时遇到问题

    我有一个大约 9 GB 的大型 csv 文件 在 Powershell 中 我需要将其拆分为 10 MB 的块 问题是我需要保持行完整 因此每个分割文件在一行的末尾结束 并在下一行的开头开始 由于文件太大 我需要一种拆分它的方法 该方法不会
  • System.IO.FileInfo 的“目标”成员记录在哪里?

    PowerShell 命令行开关Get Item 如果应用于文件 则返回System IO FileInfo type PS C gt item get item c windows System32 atl dll PS C gt ite
  • Powershell脚本将多个远程地址添加到防火墙规则

    我正在尝试编写一个脚本 该脚本将循环遍历本地防火墙规则并更新远程地址表 这是我到目前为止所拥有的 它不起作用 应该很简单 所以不确定发生了什么 该脚本运行时没有错误 但实际上并没有更新任何内容 name Get NetFirewallRul
  • 如何使用Powershell变量打开Edge?

    我已经尝试过以下方法 edge New Object com microsoft edge application edge visible true edge FullScreen true 但我收到错误 New Object Retri
  • 如何从powershell获取主机名?

    我如何获得hostname https stackoverflow com q 42014215 262852 for dur来自 powershell PS home thufir powershell gt PS home thufir

随机推荐

  • 使用 TypeScript 的 React 组件中的默认属性值

    我不知道如何使用 Typescript 为我的组件设置默认属性值 这是源代码 class PageState export class PageProps foo string bar export class PageComponent
  • hibernate加载对象图的正确方法是什么

    假设我有 3 个表 GrandCat Cat 和 Kitt 它们具有一对多的关系 所以我有以下课程 所有关联都是延迟加载 GrandCat int age Set
  • 在 MFC 中添加加速器(快捷方式) - 如何?

    我找到了这个链接 http support microsoft com kb 222829 但我无法理解那么多 好的 我知道我需要将其添加到我的头文件中 HACCEL m hAccelTable 然后是这个 m hAccelTable Lo
  • LaunchDaemons 和环境变量

    一段时间以来 我注意到我的 MacPorts 安装的 Apache2 实例在我启动时尚未启动 MacPorts Apache2 在启动时停止启动 LaunchDaemon 已加载 今天我在日志文件中发现了一些可能指向答案的内容 但我找不到任
  • 启用项目功能时启用 Rust nightly 功能

    在库箱中 我想按需提供回溯并使用 Rust 夜间回溯功能 为了做到这一点 Rust 需要设置 feature backtrace 在我的板条箱根部 有没有办法表达仅当设置了创建级别功能 backtrace 时 我才需要 Rust 夜间功能
  • 使用 Excel 中的 VBA 将 2 个单元格的内容合并到另一个第 3 个单元格中

    我有两个单元格 A1 和 A2 其中每一个的内容都是一个字符串 A1 你好 A2 世界 我的目标是将 A1 和 A2 的内容合并到另一个单元格中 例如A3即A3的内容应该是 你好世界 我想使用 VBA 宏来执行此操作 而不仅仅是将字符串作为
  • 使用 dplyr 按多组进行汇总

    我正在尝试使用 dplyr 来总结基于 2 个组的数据集 年份 和 区域 数据集如下所示 Year Area Num 1 2000 Area 1 99 2 2001 Area 3 85 3 2000 Area 1 60 4 2003 Are
  • 使用 window.onscroll 事件检测页面/框架滚动

    我想定位一个DIV位于页面内 以便即使用户垂直滚动页面 用户也可以看到它 该页面的顶部有一个标题 即75 px高的 现在 当用户位于页面顶部并且没有垂直滚动时 DIV必须位于标题下方 然而 一旦用户滚动页面导致标题消失 同样的DIV现在必须
  • 如何在 PHP 中检查 PDF 文件是否受密码保护 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 使用 PHP 上传多个文件时 如何检查上传的 PDF 文件是否受密码保护 如果它
  • java中如何将时间戳转换为日期和时间?

    我有一个来自 Linux 服务器的 json 时间戳 我想使用 Java 将其转换为简单的日期时间格式 我需要以下格式的日期和时间 dd mm yyyy hh mm ss 这是我的 JSON 数据 batch date 1419038000
  • 同步push_back和std::thread

    My code void build std vector
  • Symfony2 从 api 数据填充选择列表

    我必须通过 Api 调用填充选择列表 我尝试了几种方法但没有成功 我认为最好的方法是实现 ChoiceListInterface 有人已经做到了吗 Thanks Extend 惰性选择列表并实施加载选择列表方法 例如 ApiChoiceLi
  • 复制 Excel 单元格数据直到列中最近的填充单元格

    我是 Excel 的新手 我面临一些问题 我有一个 Excel 工作表 必须将其导入到我的另一个程序中 请考虑以下格式 Heading1 Sub heading1 Sub Sub heading1 Sub Sub heading2 Sub
  • Ruby 数组注入

    我试图使用注入方法记录 10 个线程的平均运行时间 但它给了我这个错误 undefined method for
  • 将文件从 URL 传输到 Cloud Storage

    我是一名 Ruby 开发人员 尝试使用 Python 编写的 Google Cloud Functions 但在将远程文件从给定 URL 传输到 Google Cloud Storage GCS 时遇到了困难 在等效的 RoR 应用程序中
  • 如何使用 android.mk 将 .aar 包含在 AOSP 中

    我需要在 aosp 构建树中使用 android mk 构建一个应用程序 我有一个自定义的 arr lib 它位于以下文件夹 apps libs mylib aar 中 任何人都可以告诉我如何将 aar 包含在 android aosp 构
  • 将“工作集”装入 MongoDB 的 RAM 意味着什么?

    MongoDB 很快 但前提是您的工作集或索引可以放入 RAM 那么 如果我的服务器有 16G RAM 这是否意味着我所有集合的大小都需要小于或等于 16G 如何说 好吧 这是我的工作集 其余的可以 存档 工作集 基本上是系统将处于活动状态
  • MVC模型验证

    因此 我当前正在构建一个需要用户模型验证的应用程序 如果向用户填写了不正确的属性 它会告诉他们 我已设置数据注释 但我不确定如何将错误消息转发回用户 到目前为止 我已经在我的模型和视图上进行了设置 Model public class Da
  • setNamedRange() 在电子表格容器之外?

    我已经尝试了尽可能多的组合 我的目标是让 Google Apps 脚本独立运行或从库中运行 并能够在电子表格中设置命名范围 据我所知 setNamedRange 方法仅在电子表格容器内可用 并且仅当您使用SpreadsheetApp get
  • Teams:Invoke-Webrequest 向 Teams 发送 base64 字符串 (png)

    我正在尝试将一个 png 格式的 base64 字符串发送到我们的团队频道 该频道具有 传入 Webhook 设置 消息已发送到频道 但没有显示图像 当我搜索此内容时 似乎无法将图像或任何其他类型的附件作为 base64 字符串发送到 Te