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

如何使用Microsoft Graph API从Outlook目录联系人文件夹获取联系人?

解决Outlook Directory联系人的Microsoft Graph API获取方案

首先要明确:Outlook中的「Directory」对应的是**组织的全局地址列表(GAL)**或租户级目录联系人,不属于用户个人邮箱下的联系人文件夹,所以/me/contactfolders这类针对个人联系人文件夹的API自然无法获取到它的内容。以下是具体的解决方法:

一、直接可用的Graph API

1. 获取组织内用户联系人(Directory中的内部人员)

如果Directory里的联系人主要是组织内部用户,直接使用用户列表API:

GET https://graph.microsoft.com/v1.0/users

可以通过筛选器缩小范围,比如获取某部门的用户:

GET https://graph.microsoft.com/v1.0/users?$filter=department eq '市场部'

2. 获取组织的外部联系人(Directory中的外部人员)

针对组织添加的外部联系人(非内部用户),使用目录联系人API:

GET https://graph.microsoft.com/v1.0/directoryContacts

同样支持筛选,比如按公司名称过滤:

GET https://graph.microsoft.com/v1.0/directoryContacts?$filter=companyName eq 'XX科技'

3. 全局搜索目录联系人(含内部+外部)

如果需要搜索整个Directory中的联系人(包括内部用户和外部联系人),使用people API,它会返回匹配的目录条目:

GET https://graph.microsoft.com/v1.0/me/people?$search="张三"

该API还支持通过$select指定返回字段,比如只获取姓名和邮箱:

GET https://graph.microsoft.com/v1.0/me/people?$search="张三"&$select=displayName,emailAddresses

二、替代方案(复杂场景)

如果需要完全复刻Outlook Directory文件夹的展示逻辑(比如分组、自定义属性),可以结合以下步骤:

  • 调用/users获取内部用户,调用/directoryContacts获取外部联系人
  • 在应用层合并两类数据,根据需求进行分组、排序或筛选
  • 如果需要同步更新,可以订阅users和directoryContacts的变更通知,实时同步数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 14:03:15