【问题标题】:Get information about invitation of B2B user in Microsoft Graph在 Microsoft Graph 中获取有关 B2B 用户邀请的信息
【发布时间】:2020-04-29 14:40:04
【问题描述】:

我正在尝试创建一个应用程序,在该应用程序中我需要知道受邀加入 Azure Active Directory 的用户是否接受了邀请。我正在使用 microsoft graph SDK for C# 从 AAD 获取有关用户的信息,但在生成的用户对象中找不到有关邀请状态的信息。特别是,我想从 Azure 获取这条信息:

有没有办法使用 Microsoft Graph SDK 或直接图形查询从 C# 获取此信息?

【问题讨论】:

  • 嗨 Salin,请问我提供的解决方案是否有效?如果对您的问题有帮助,请您将我的回答标记为“已接受”,提前谢谢~

标签: azure-active-directory azure-ad-b2c microsoft-graph-sdks


【解决方案1】:

似乎用于获取用户的 microsoft graph api(v1.0) 没有显示访客是否接受邀请的字段。我检查了document 的用户属性,没有找到任何匹配“接受邀请”的属性。但我发现 microsoft graph api(beta 版) 中有一个属性externalUserState 可以满足您的要求。 如果不介意稳定性,可以使用测试版的microsoft graph api。如果您将在生产环境中使用此 api,我建议您使用 Azure AD 图形 api。请参考以下步骤

作为一种解决方法,我们可以使用 Azure AD graph api 代替 microsoft graph api。我发现Azure AD graph api 的响应中有一个属性UserState。如果我们要请求这个 Azure AD 图形 api,我们需要先添加所需的权限。

不要忘记授予管理员同意然后请求访问令牌,请注意,当请求 Azure AD 图形的访问令牌时,我们需要将 scopehttps://graph.microsoft.com/.default 更改为 https://graph.windows.net/.default

然后使用访问令牌请求 Azure AD 图形 api。

https://graph.windows.net/<tenant id>/users/<object id>?api-version=1.6

获取api的响应,我们可以发现里面有一个属性userState。如果客人已接受,则此属性将为“Accepted”,如果客人未接受,则此属性将为“PendingAcceptance”。

希望对你有帮助~

【讨论】:

  • 非常感谢!这正是我所需要的。我不想使用 Azure AD graph api,所以我将使用 beta microsoft graph
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-06
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多