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

将用户添加至Azure AD组的最优集成方式及可用API咨询

解决方案

1. 添加用户至Azure AD组的可用接口

你之前调用的https://graph.microsoft.com/v1.0/groups/{groupID}根接口不是成员添加的专用接口,微软从未废弃组成员管理的相关Graph API,你需要使用专门的组成员引用接口POST /groups/{group-id}/members/$ref完成操作,具体调用要求如下:

  • 权限配置:给你的Java应用注册的Azure AD应用实体授予应用权限GroupMember.ReadWrite.All,完成配置后必须点击「授予管理员同意」生效,该权限适配你HR数据同步的后台服务场景。
  • Postman测试流程:
    1. 首先获取访问令牌:向https://login.microsoftonline.com/{你的租户ID}/oauth2/v2.0/token发起POST请求,参数传入grant_type=client_credentials、scope=https://graph.microsoft.com/.default、client_id=你的应用ID、client_secret=你的应用密钥,拿到响应中的access_token字段。
    2. 调用添加成员接口:向https://graph.microsoft.com/v1.0/groups/{目标组ID}/members/$ref发起POST请求,请求头携带Authorization: Bearer {上一步获取的access_token},请求体格式如下:
    {
      "@odata.id": "https://graph.microsoft.com/v1.0/users/{目标用户的ID或用户主体名称}"
    }
    
    接口返回204状态码即代表添加成功。

2. 用户关联属性读写方案

2020年10月调整的是旧版关联属性的独立路由,你可以直接调用GET /users/{user-id}或PATCH /users/{user-id}接口完成用户属性的读写:

  • 读取属性时在请求URL后添加参数$select=属性1,属性2即可获取指定属性
  • 修改属性时直接在PATCH请求的请求体中传入要修改的属性键值对即可,自定义扩展属性需要传入完整的扩展属性标识

3. Java应用集成示例

推荐直接使用微软官方的Microsoft Graph Java SDK,无需自行封装HTTP请求,核心代码片段如下:

// 引入依赖后初始化Graph客户端
ClientCredentialProvider authProvider = new ClientCredentialProvider(
    "应用客户端ID",
    new String[]{"https://graph.microsoft.com/.default"},
    "应用客户端密钥",
    "租户ID",
    NationalCloud.Global
);
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider(authProvider).buildClient();

// 执行用户添加到组的操作
DirectoryObject userRef = new DirectoryObject();
userRef.id = "目标用户的ID";
graphClient.groups("目标组ID").members().references()
    .buildRequest()
    .post(userRef);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:06:04