You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Microsoft Graph实现用户申请加入Office 365 Unified Group?

嘿,这个问题我之前帮客户处理过,咱们一步步拆解来搞定:

实现用户申请加入Office 365统一组并需审批的正确流程

1. 先确保群组配置正确(核心前提)

不是所有Office 365统一组都支持用户主动申请+审批的,你得先把目标群组设置为允许用户申请加入且需要所有者审批。

你可以通过两种方式配置:

  • Microsoft 365 admin中心手动操作:找到目标群组,进入“设置”>“成员资格”,把“谁可以加入此组”改成“需要所有者批准的用户”。
  • Microsoft Graph API批量配置:调用PATCH接口修改群组属性,请求示例:
PATCH https://graph.microsoft.com/v1.0/groups/{group-id}
Content-Type: application/json

{
  "joinGroup": "ApprovalRequired"
}

注意:只有群组所有者或全局管理员能修改这个配置,你的应用需要申请Group.ReadWrite.All或Directory.ReadWrite.All权限(建议用最小权限Group.ReadWrite.All)。

2. 用户发起加入申请的正确API调用

别再用直接添加成员的POST /groups/{group-id}/members/$ref了!那个接口会跳过审批直接添加(除非群组是关闭状态会报错)。

正确的做法是让登录用户调用**me/joinGroup接口**发起申请,这个接口会自动触发审批流程:

POST https://graph.microsoft.com/v1.0/me/joinGroup
Content-Type: application/json

{
  "groupId": "{你的目标群组ID}"
}

权限要求:用户委托权限GroupMember.ReadWrite.All或Directory.AccessAsUser.All,并且用户已经完成授权。

3. 所有者处理审批请求

用户发起申请后,群组所有者会收到邮件通知,也可以通过API获取待审批的申请并处理:

  • 获取待审批申请:
GET https://graph.microsoft.com/v1.0/groups/{group-id}/membershipRequests
  • 批准申请:
POST https://graph.microsoft.com/v1.0/groups/{group-id}/membershipRequests/{request-id}/approve
Content-Type: application/json

{
  "comment": "批准用户加入请求"
}
  • 拒绝申请:
POST https://graph.microsoft.com/v1.0/groups/{group-id}/membershipRequests/{request-id}/reject
Content-Type: application/json

{
  "comment": "因不符合群组规则拒绝申请"
}

所有者需要的权限:用户委托权限GroupMember.ReadWrite.All或应用权限Group.ReadWrite.All。

4. 常见问题排查

  • 无需审批直接加入:大概率是群组的joinGroup属性被设为Open了,改成ApprovalRequired就行。
  • 申请失败:检查这几点:
    • 当前用户是否已经是群组成员或已发起过申请(重复申请会报错)
    • 群组是否设置为Closed(关闭状态不允许任何用户主动申请)
    • 应用是否拿到了正确的用户委托权限,且用户已授权

内容的提问来源于stack exchange,提问作者anderslooftharpoeth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:23:14