1.简单介绍
Power Automate Desktop是微软Platform Platform平台中的一款RPA产品,简称PAD。发现在Power Automate Desktop的out-of-box actions中没有Microsoft 365 Planner相关的actions。如果想要在PAD中实现对Planer中的Plan, Task等的操作,则需要自己去实现调用Microsoft Graph Api获取Task信息的过程。Microsoft Graph是微软提供的一个获得微软云服务中数据的Gateway,提供了一个统一的接口给不同应用程序,具体的信息可以参考Microsoft Graph Overview
这边将尝试一下在Power Automate Desktop中获取特定Plan的Task信息并导出到本地excel中。
2.具体说明
假定在Microsoft 365 Planner中已经存在如下Plan和对应的Task
2.1 注册应用程序
使用Microsoft Graph Api一般需要在Microsoft Extra ID中注册应用程序的,
1) 在App Registration门户中,点击 New registration进行注册应用程序的创建,如下图所示,
2) 创建好注册应用程序后,需要记录一下Application ID(Client Id)和Directory ID(Tenant Id)
3) 创建一下Client Secret,这个secret的值也需要记录一下。
4)对注册应用程序分配一下Microsoft 365 Planner的权限
5)创建并配置好注册应用程序之后,可以试着使用Postman操作一下,发现可以获取task信息成功的。
2.2 制作PAD flow
这边采用的是Invoke web service这个action来进行Microsoft Graph Rest Api的调用
调用Graph Api进行Planner task信息读取的操作,如下图所示,
note, 在调用Microsoft Graph Planner api时候,需要在请求的header中设定access token。access token的获取需要使用到之前注册应用程序的信息了(tenant Id, application Id, secret value),根据选择的OAuth认证方式,采用不同的方式去获取access token。可以采用client_credentials,也可以采用password等方式。
这边使用的是password的方式,需要在请求中设置如下6个信息
如果是client_credentials的方式,则只需要4个信息
最后获取的task信息保存到本地的excel文件中,
2.3 运行一下
点击Power Automate Desktop界面中的Run按钮,
最后Planer中的task信息已经被写入到本地的excel文件中了,
note, 运行时间大概21秒钟
最后数据保存在本地,如下图所示
如果是使用下面这种方式来运行的话,发现消耗的时间会少一些,只需要13秒就可以把数据导出的
3.总结
本文简单记录了一下使用Power Automate Desktop进行Microsoft 365 Planer中的task信息导出的过程,这边使用的是Invoke web service这个内置的action进行的Microsoft Graph Rest Api调用操作。当前在Power Automate Desktop中已经存在的对Microsoft 365服务操作的action一般都需要有premium license才能使用,如果使用了原生的invoke web service后,则后续微软release出来Planner相关的actions,就不需要买premium license了,费用相对低一些的。
本文如果哪里有错误的地方,麻烦告之,谢谢谢谢!