如何仅通过Microsoft Graph API创建含内部成员与联系人的Microsoft 365组?
解决方案:使用邮件启用的安全组
你可以通过邮件启用的安全组满足需求——这种组类型既支持通过Microsoft Graph API创建,也允许添加内部用户和外部联系人,完全不需要额外服务或Azure资源。
步骤说明
1. 确认所需权限
需要以下权限之一(Delegated或Application权限均可):
Group.ReadWrite.AllDirectory.ReadWrite.All
2. 创建邮件启用的安全组
发送POST请求到Graph API的组创建端点,关键是同时设置mailEnabled和securityEnabled为true:
请求示例:
POST https://graph.microsoft.com/v1.0/groups Content-Type: application/json { "displayName": "跨成员类型测试组", "description": "包含内部用户和外部联系人的邮件启用安全组", "mailEnabled": true, "securityEnabled": true, "mailNickname": "cross-type-sec-group-demo", "visibility": "Private" }
注意:
mailNickname必须是租户内唯一标识,不能与现有组重复。
3. 向组添加成员
无论是内部用户还是外部联系人,都可以通过$ref端点添加:
添加内部用户
POST https://graph.microsoft.com/v1.0/groups/{group-id}/members/$ref Content-Type: application/json { "@odata.id": "https://graph.microsoft.com/v1.0/users/{user-id}" }
添加外部联系人
POST https://graph.microsoft.com/v1.0/groups/{group-id}/members/$ref Content-Type: application/json { "@odata.id": "https://graph.microsoft.com/v1.0/contacts/{contact-id}" }
4. 验证成员
发送GET请求查看组成员,确认两种类型的成员都已成功添加:
GET https://graph.microsoft.com/v1.0/groups/{group-id}/members
方案说明
邮件启用的安全组融合了通讯组的邮件收发能力和安全组的权限管理特性,恰好解决了你遇到的矛盾:既支持Graph API创建,又允许添加外部联系人,完全符合需求。
内容的提问来源于stack exchange,提问作者userav
相关产品推荐
相关产品推荐

