通过Microsoft Graph API获取联系人

时间:2017-07-12 15:37:11

标签: microsoft-graph

我们正试图通过beta/me/people获取公司联系人的用户个人资料,但似乎我们无法获得所有联系人,即使我们拥有来自/v1.0/users API的用户ID

我们获得的用户数量也有所不同,具体取决于登录的帐户。

文档说明它是一个排名列表,但我应该能够通过ID获得一个吗?

任何人都可以帮助我们解释这是为什么吗?有没有办法,例如,没有管理员必须更改权限的每个用户的电话号码?

1 个答案:

答案 0 :(得分:2)

/beta/me/people端点返回与当前用户相关的联系人列表。这"关系"基于电子邮件,电话和文档等内容。这就是为什么它会根据登录的用户而改变的原因。例如,在我的情况下,我的经理显示在结果的顶部,但是我从未与之交互的公司内的人员没有。

如果您要查找给定用户的纯联系人列表(即Outlook中的联系人),您可以使用/me/contacts端点。这将返回Outlook / Exchange中当前用户的默认联系人文件夹中的联系人记录列表。

如果您正在寻找内部人员(即用户帐户)的个人资料信息,可以使用/users端点来完成此操作。这将返回组织内的所有用户。

如果您希望获取单个用户帐户的个人资料信息,可以使用/users/{id | userPrincipalName}检索此信息。 通常我建议使用userPrincipalName,因为它会使调试和查看日志更具人性化。

如果您希望从用户的“联系人”文件夹中检索单个联系人,可以使用$filter查询参数完成此操作。例如:me/contacts?$filter=emailAddresses/any(a:a/address eq '@domain.com')

如果您希望从/me/people端点抓取一个人,只需将该用户的id添加到路径即可:/me/people/{id} < / p>

  

请注意,使用beta端点可能会导致意外行为。这些端点可用于测试,但绝对不适合生产工作负载。