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内容的。

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

相关推荐
千逐686 小时前
多物理场耦合气象可视化引擎:基于 Flutter for OpenHarmony 的实时风-湿-压交互流体系统
flutter·microsoft·交互
吹牛不交税6 小时前
安装Framework4.0时提示:Microsoft .NET Framework 4 已是此操作系统的一部分。不需要安装 .NET Framework
microsoft·.net
wfserial19 小时前
c#使用微软自带speech选择男声仍然是女声的一种原因
microsoft·c#·speech
山岚的运维笔记1 天前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
凯子坚持 c1 天前
CANN 性能剖析实战:从原始事件到交互式火焰图
windows·microsoft
L543414461 天前
告别代码堆砌匠厂架构让你的系统吞吐量翻倍提升
大数据·人工智能·架构·自动化·rpa
穿过锁扣的风1 天前
一文搞懂 SQL 五大分类:DQL/DML/DDL/DCL/TCL
数据库·microsoft·oracle
山岚的运维笔记2 天前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
鸽芷咕2 天前
为什么越来越多开发者转向 CANN 仓库中的 Python 自动化方案?
python·microsoft·自动化·cann
模型时代2 天前
Anthropic明确拒绝在Claude中加入广告功能
人工智能·microsoft