使用 Power Automate 检查 Office 365 组中是不是存在 Teams/SharePoint 用户

Posted

技术标签:

【中文标题】使用 Power Automate 检查 Office 365 组中是不是存在 Teams/SharePoint 用户【英文标题】:Check, whether Teams/SharePoint user exists in Office 365 Group, using Power Automate使用 Power Automate 检查 Office 365 组中是否存在 Teams/SharePoint 用户 【发布时间】:2020-12-17 05:48:39 【问题描述】:

我有一个在 MS Teams 中创建团队时自动生成的共享点站点。我是团队的所有者,因此也是 sharepoint 站点的所有者。在 sharepoint 站点中,我制作了一个列表,所有团队成员都可以在其中添加新行。在 Power Automate 中,我创建了一个与此列表交互的流。在此流程中,我想检查运行流程的人是否是 Teams 网站的所有者。

我 found 执行以下 REST 调用来执行此操作。当然,我将<user email> 替换为我的电子邮件地址,将<group name> 替换为所有者组名称(Sharepoint 组)。

_api/web/sitegroups/getByName('<group name>')/Users?$filter=Email eq '<user email>'

不幸的是,输出是空的,而我真的应该是该组的成员,因为我在 Teams 中被列为所有者!

现在,apparently Sharepoint 组和 Office 365 组(使用 Teams 创建)之间存在差异。所以我的问题是:Power Automate 中是否有一种非高级方式来检查用户是否属于 Office 365 组?因为检查用户是否属于 Sharepoint Group 对我不起作用..

【问题讨论】:

您可以通过传递组 ID 获取组 members using Graph API 【参考方案1】:

我调查了您的用例。首先,您的 Flow 触发器是什么。

您还可以获得用户的详细信息(运行流程的人),例如 ID 或电子邮件。

现在,对于 Teams,有带有电源自动化功能的开箱即用连接器,但不幸的是它不会派上用场。因为它没有提供团队成员的团队所有者等信息。

您必须查询 API (microsoft Graph API)。你 Graph API,你会很容易找到 Team owner 等等。

一旦你有了这些细节,你将很容易确定你的电子邮件或用户 ID 是否存在。

示例 api 调用

GET https://graph.microsoft.com/v1.0/teams/id

but go through this graph api for Teams and you will figure it out

Also to talk with Graph API you will need Bearer token.

Graph API with power-automate

【讨论】:

我有一个手动流程触发器(Sharepoint:用于选定项目)。此流程触发一个子流程,我想在其中检查用户是否是团队所有者。所以我将用户电子邮件作为变量传递到子流中。子流程始终在我的连接上运行,因此它也适用于触发主要流程的团队成员。问题是我无权访问 Azure 环境。所以我无法获得 clientid/clientsecret 令牌。我在一家大公司工作,所以对于像我这样的用户来说,这一切都是屏蔽的。 您必须使用 Graph API,没有它您将无法获得团队成员/团队所有者的详细信息。请您 IT 为您在 Azure 中设置具有适当权限的应用程序,并为您提供客户端 ID 和机密。【参考方案2】:

您应该能够使用图表检查这一点,使用此端点:https://docs.microsoft.com/en-us/graph/api/group-list-members?view=graph-rest-1.0&tabs=http

【讨论】:

以上是关于使用 Power Automate 检查 Office 365 组中是不是存在 Teams/SharePoint 用户的主要内容,如果未能解决你的问题,请参考以下文章

Power Automate 连接引用逻辑名称缺少连接 ID

power automate 怎么暂停

Power automate怎么看批到哪里了?

Power Apps 中调用 Automate 工作流

power automate回响

如何使用 Power Automate 在每周计划的时间将 Power BI 可视化打印为 PDF?