Adding/Removing 一个用户使用 SPFx 加入私有 O365 组
Adding/Removing a user to private O365 group using SPFx
无法使用 SharePoint Framework(SPFx) webpart 中的 MSGraphClient 使用 add/remove O365 私有组 的 Group.ReadWrite.All 和 User.Read.All 权限的成员.
我已经从 SharePoint 管理员 API 访问页面批准了权限,以便我的“SharePoint Online 客户端可扩展性 Web 应用程序主体”获得所需的委派权限。甚至尝试使用 GroupMember.ReadWrite.All 和 Directory.ReadWrite.All 权限。
POST https://graph.microsoft.com/v1.0/groups/{groupid}/members/$ref
{
"@odata.id": "https://graph.microsoft.com/v1.0/users/{userid}"
}
还尝试了以下 body
{
"@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/{userid}"
}
错误文本如下:
Uncaught (in promise) Error: Error making HttpClient request in queryable [403] Forbidden ::> {
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"date": "2020-09-09T20:18:44",
"request-id": "ea951e6c-ae43-4907-8c86-e6f6c8346462"
}
}
}
当我使用群组所有者帐户以外的 O365 帐户登录时,出现此错误。当我使用组所有者帐户 运行 相同的代码时,它工作正常。
以下是 API 管理和 Azure AD 应用程序页面的屏幕截图
以下是应用的权限:
Delegated permissions in Azure AD App Registration
Approved Permissions in SharePoint Admin API Access
检查您的 spfx 是否已在 admin-center 中获得权限。
这是设计使然。即使 Azure AD 应用程序具有所需的委派权限,但如果用户不是管理员或私有组的所有者,则不允许他向其中添加成员。
O365 门户中有相同的行为。
当普通用户尝试向私人群组添加成员时,会显示“
您只能将成员添加到您有权访问的组。”并且无法添加成员。
如果您为用户分配管理员角色(用户管理员或组管理员),他可以成功添加成员。如果您将用户(没有管理员角色)添加为组的所有者,他也可以添加成员。
无法使用 SharePoint Framework(SPFx) webpart 中的 MSGraphClient 使用 add/remove O365 私有组 的 Group.ReadWrite.All 和 User.Read.All 权限的成员.
我已经从 SharePoint 管理员 API 访问页面批准了权限,以便我的“SharePoint Online 客户端可扩展性 Web 应用程序主体”获得所需的委派权限。甚至尝试使用 GroupMember.ReadWrite.All 和 Directory.ReadWrite.All 权限。
POST https://graph.microsoft.com/v1.0/groups/{groupid}/members/$ref
{
"@odata.id": "https://graph.microsoft.com/v1.0/users/{userid}"
}
还尝试了以下 body
{
"@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/{userid}"
}
错误文本如下:
Uncaught (in promise) Error: Error making HttpClient request in queryable [403] Forbidden ::> {
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"date": "2020-09-09T20:18:44",
"request-id": "ea951e6c-ae43-4907-8c86-e6f6c8346462"
}
}
}
当我使用群组所有者帐户以外的 O365 帐户登录时,出现此错误。当我使用组所有者帐户 运行 相同的代码时,它工作正常。
以下是 API 管理和 Azure AD 应用程序页面的屏幕截图
以下是应用的权限:
Delegated permissions in Azure AD App Registration
Approved Permissions in SharePoint Admin API Access
检查您的 spfx 是否已在 admin-center 中获得权限。
这是设计使然。即使 Azure AD 应用程序具有所需的委派权限,但如果用户不是管理员或私有组的所有者,则不允许他向其中添加成员。
O365 门户中有相同的行为。
当普通用户尝试向私人群组添加成员时,会显示“ 您只能将成员添加到您有权访问的组。”并且无法添加成员。
如果您为用户分配管理员角色(用户管理员或组管理员),他可以成功添加成员。如果您将用户(没有管理员角色)添加为组的所有者,他也可以添加成员。