Power Automate - 从Web Api获取Json数据并以table的形式发送邮件和审批请求

1. 简单介绍

调用Web Api获取的数据经常是json格式的,Power Automate提供了内置的Parse Json action来解析json数据。一个常见的场景是将json数据变成html table,然后通过邮件的形式发送出去,或者也可以将table数据放置到Approval的details中来发送审批请求。

这边尝试一下将获取的json数据以html table的形式发送出去;同时创建一个Approval,将table添加到Approval details中。

2. 具体说明

2.1 准备Web Api

假定已经创建了一个Asp.Net Core Web Api(.NET 9),这个web api提供了一个获取2024年巴黎奥运会各个地区金牌数据的接口,如下图所示,

note, 如果是本地的uri,可以通过ngrok或者花生壳等工具将其映射为公网可以访问的接口

2.2 发送包含table的邮件

下图是Instant flow工作的总体情况

2.2.1 制作Instant flow
  1. 创建一个Instant flow

  2. 添加HTTP action,将步骤2.1准备的web api配置到HTTP action中,如下图所示,

3)添加Parse Json action,

4)添加一个Select action,

5)添加Create a HTML table action,如下图所示,

  1. 添加一个Compose action,

主要是对Create HTML table生成的html内容添加一些样式,可以使用replace函数来进行

类似下面的Power Automate expression,需要将其中的...进一步细化一下

html 复制代码
replace(
  replace(
    replace(
		body('Create_HTML_table'),'<table>',
								  '<table style="width: 50%; border-collapse: collapse; background: white; 
								 ...">'
    ),'<td>',
		'<td style="border: 1px solid #ddd;
		...">'
		),'<th>',
		'<th style="padding: 12px; 
		...
		color:white">'
)

7)添加Send email action,如下图所示,将Compose的output添加到邮件正文中,

2.2.2 运行一下

启动工作流,最后邮件中会收到一封邮件,邮件正文中包含一个table,如下图所示,

2.3 创建包含table的审批

Approval request的大概效果如下图所示,

2.3.1 制作Instant flow
  1. 创建一个Instant flow

  2. 添加HTTP action, 同步骤2.2.1

  3. 初始化一个回车的variable

  1. 初始化markdown variable
  1. 添加 Parse Json action,同步骤2.2.1

  2. 使用Apply to each 对Parse Json生成的结果进行遍历,然后以markdown的形式append到markdown变量中,

  1. 添加Create an approval action,如下图所示,
2.3.2 运行一下

启动工作流,在MS Teams的Approvals中会看到如下包含了table的审批请求,

同时也将收到一封包含了table数据的审批邮件,

3. 总结

本文简单记录了一下从web api获取json数据,然后转换成table,最后分别以email和审批请求的形式发送出去的过程。如果是将table放置到email中,则可以使用Create HTML table action同时进行一些样式定制;如果是发送审批请求方式,则需要组织markdown内容的。

本文如果哪里有错误,麻烦告之,谢谢谢谢!

相关推荐
Leinwin3 小时前
Azure NCv6 现已开放公共预览
microsoft·azure
2501_941982054 小时前
RPA在企业微信桌面端的元素识别:基于坐标与基于属性的优劣对比
企业微信·rpa
RPA机器人就用八爪鱼6 小时前
RPA 平台架构设计核心:构建企业级自动化的底层逻辑
机器人·rpa
AI原吾7 小时前
[特殊字符] 欢迎来到蓝牙便利店
microsoft·智能手机·ble
2501_941982057 小时前
解析企业微信身份验证机制 UserID OpenID ExternalUserID 及其转换方法
企业微信·rpa
梦想的旅途28 小时前
RPA 在企业微信桌面端的元素识别:基于坐标与基于属性的优劣对比
企业微信·rpa
福尔摩斯张21 小时前
Linux信号捕捉特性详解:从基础到高级实践(超详细)
linux·运维·服务器·c语言·前端·驱动开发·microsoft
CoderJia程序员甲1 天前
告别“Ctrl+C/V”:聊聊最近试用的影刀RPA
自动化·rpa·影刀
武藤一雄1 天前
C# 万字拆解线程间通讯?
后端·微软·c#·.net·.netcore·多线程