如何调用API获取Outlook联系人内通讯组的成员列表
Outlook 通讯组成员邮箱列表获取方案
你可以通过微软Graph API实现需求,操作步骤如下:
前置准备
- 前往Azure Active Directory注册应用,为应用授予
GroupMember.Read.All权限(如果是后台服务调用请选择应用程序权限,需管理员同意;如果是用户端调用选择委托权限即可) - 获取接口调用所需的OAuth2访问令牌,调用所有接口时都需要在请求头携带
Authorization: Bearer <你的访问令牌>
操作步骤
- 调用接口查询目标通讯组的ID
接口地址:
GET https://graph.microsoft.com/v1.0/groups?$filter=mail eq 'test784637@groups.outlook.com'&$select=id
调用成功后,从返回的value数组中提取id字段值,即为该通讯组的唯一ID。
2. 调用接口获取组成员邮箱
将上一步拿到的组ID替换到下方接口的{group_id}位置:
GET https://graph.microsoft.com/v1.0/groups/{group_id}/members?$select=mail
返回结果的value数组中每个元素的mail字段就是成员邮箱地址,你可以直接将所有mail值拼接为顿号分隔的格式即可。
注意事项
- 如果组内成员数量超过999人,接口会返回分页标识
@odata.nextLink,你需要继续请求该链接获取剩余的成员数据 - 如果你仅需要获取用户类型的成员,过滤掉通讯组嵌套的子组,可以在第二步的接口中添加
$filter参数:$filter=@odata.type eq '#microsoft.graph.user'
参考截图


内容的提问来源于stack exchange,提问作者msm2020
相关产品推荐
相关产品推荐

