【问题标题】:Can't set hideFromAddressLists in Logic Apps call to Graph API无法在逻辑应用调用图形 API 中设置 hideFromAddressLists
【发布时间】:2020-05-21 06:28:50
【问题描述】:

我有一个逻辑应用程序正在调用图形 API 来创建大量 O365 组。对于创建,我将应用程序权限与已注册的 Azure 应用程序一起使用,效果很好。

但是,我现在正试图从 GAL 中隐藏 O365 组。
我需要设置这些参数:

{
  "hideFromAddressLists": true,
  "hideFromOutlookClients": true
}

我遇到了与here 描述的相同问题。但我不知道如何代表用户调用 Graph API,具有委托权限。我尝试设置 Azure 托管标识并按照these instructions 设置权限,但出现错误:

"code": "ErrorGroupsAccessDenied"    
"message": "User does not have permissions to execute this action.",

谁能帮忙?

这些是我设置的应用程序权限,但我仍然收到“ErrorGroupsAccessDenied”“用户没有执行此操作的权限。”

【问题讨论】:

  • 您好,请问您为 Azure AD 中注册的应用添加了哪些权限?
  • 如果您在请求创建组api时只是为应用添加Group.Create权限,请在请求更新组api之前添加其他两个权限Group.ReadWrite.All, Directory.ReadWrite.All,因为文档向我们显示了更新组图 api 支持“应用程序权限”。如果还是不行,可以参考下面提供的解决方案,获取委托权限的访问令牌,然后请求更新组api。

标签: microsoft-graph-api azure-logic-apps o365-flow


【解决方案1】:

正如您所提到的,它需要以委托权限调用,因此您无法仅通过 MSI 获取访问令牌。根据您提供的有关 MSI 的页面,似乎只是使用服务主体来验证权限。它仍然使用应用程序权限,但不使用委托权限。所以请参考以下步骤获取访问令牌,然后请求图形api。

1.创建一个“HTTP”操作来获取访问令牌(我们需要在这个http请求中使用用户名/密码授权流程)。

2. 使用“Parse JSON”操作解析来自上述 HTTP 操作的响应数据。

3. 请求图形 api 更新组(使用“解析 JSON”操作中的访问令牌)。

请注意“Bearer”和“access_token”之间有一个空格。

【讨论】:

  • 嗨@Hury Schen - 非常感谢,这很有效!我必须将客户端密码添加到身份验证请求中,仅供参考。我还必须确保我使用的帐户是该组的所有者。
  • 我很快就和我谈过了 - 它间歇性地失败了“code”:“ErrorGroupsAccessDenied”,“message”:“用户没有执行此操作的权限。” (尽管成功获取了访问令牌!)
  • @TechGuy 您能否分享一下您在 azure ad 中添加到应用程序的权限的屏幕截图(在 azure ad 中转到您的应用程序并分享“API 权限”选项卡的屏幕截图)?跨度>
  • 嗨@Hury Shen,对不起,我才刚刚回到这个话题。我已经发布了权限的图像,以及我得到的错误。
  • @TechGuy 能否请您删除其他权限(同时删除应用程序Group.ReadWrite.All 权限),只保留一个权限(委托Group.ReadWrite.All 权限)。在您的广告应用中添加太多权限有时可能会影响访问权限。
猜你喜欢
  • 1970-01-01
  • 2019-04-22
  • 2019-07-30
  • 1970-01-01
  • 2020-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多