如何使用 Power Virtual Agents 和 Power Automate 让机器人在用户的 Outlook 日历中写入

问题描述

我为微软团队创建了一个具有强大虚拟代理的机器人。这个机器人运行良好,人们可以在 ms 团队中与它交谈,并为机器人提供一些有关日期的信息。例如,您可以告诉机器人您无法工作的天数的开始日期和结束日期。

通过团队中的身份验证,机器人还知道与之交谈的人的用户名和 ID。

现在我想创建一个自动流程,机器人应该使用用户名用户 ID、开始日期和结束日期等信息触发它,它应该执行以下步骤:

  1. 在 Outlook/teams 中打开/找到特定用户的日历(我很确定两者都使用相同的日历)

  2. 为 startdate 和 enddate 范围内的每一天创建一个(全天)条目,表示“不可用”

  3. 对于第 2 步的条目中与另一个会议的每次冲突。取消会议(对于具有用户名用户

  4. 在特定的 ms 团队频道中发布摘要

我的第 4 步已经可以正常工作了。

第 2 步,我想我也想通了,但关于我在第 1 步的以下问题:

有模板流程:获取日历,它返回(所有?)可用日历。还有另一个用于在特定日历中创建条目的流模板(步骤 2 带有选项全天条目),需要日历 ID 才能工作。

我的大问题是,我应该如何获取特定用户的日历 ID?

有没有办法获取用户名用户 ID 的特定日历 ID?

然后我可以如何处理第 3 步?

非常感谢您的帮助。

问候维尔宁

解决方法

使用 Graph API,您可以获得用户日历 ID GET https://graph.microsoft.com/v1.0/{id | userPrincipalName}/calendarenter image description here 使用中的解析 JSON 是指从 Power Automate 获取原始 JSON 输出数据并将其转换为值。 http 中 GET 命令的输出返回原始 JSON,因此您必须解析 JSON 才能使用值。

对于第 3 点,只有组织者可以取消会议。请参阅此document

您可以使用带有 POST https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}/events/{id}/decline 请求的 Graph API 请求拒绝会议。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...