【发布时间】:2017-07-12 15:37:11
【问题描述】:
我们正在尝试通过beta/me/people 获取我们公司联系人的用户资料,但似乎我们无法获取所有联系人,即使我们从/v1.0/users API 获得了用户的 id。
我们获得的用户数量也因登录的帐户而异。
文档说明这是一个排名列表,但我应该能够通过 id 获得一个吗?
谁能帮我们解释这是为什么?有什么方法可以让我们获得例如每个用户的电话号码而无需管理员更改权限?
【问题讨论】:
我们正在尝试通过beta/me/people 获取我们公司联系人的用户资料,但似乎我们无法获取所有联系人,即使我们从/v1.0/users API 获得了用户的 id。
我们获得的用户数量也因登录的帐户而异。
文档说明这是一个排名列表,但我应该能够通过 id 获得一个吗?
谁能帮我们解释这是为什么?有什么方法可以让我们获得例如每个用户的电话号码而无需管理员更改权限?
【问题讨论】:
/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}
请注意,使用
beta端点可能会导致意外行为。这些端点可用于测试,但绝对不适合生产工作负载。
【讨论】: