0

当登录到 Outlook Office 365 界面管理他/她的联系人时,用户将单击 UI 左上角带有九个方块的蓝色图标,然后选择“联系人”磁贴。在左侧,用户将看到文件夹“我的联系人”、“目录”和“组”。至少,这是我所看到的。

我设法使用 office 365 的 REST API 来查询“我的联系人”中列出的联系人,如下所示:

GET outlook.office365.com/api/v1.0/me/contacts?$top=200

我很高兴。但我被要求导入“目录”文件夹中列出的联系人。

所以我在文档中浏览了一下,发现我可以查询特定的联系人文件夹:

GET https://outlook.office.com/api/{version}/me/contactfolders/{contact_folder_id}/contacts

问题是我找不到与“目录”对应的 {contact_folder_id}。对端点的查询:

GET https://outlook.office.com/api/{version}/me/contactfolders

返回一个空数组,我什至看不到“我的联系人”文件夹。

知道我怎么能得到这些吗?我暗自担心我必须与全局 Graph API 交谈才能获得这些 AzureAD 联系人,这意味着我应该获得一个新的令牌,这会使代码有点复杂。如果有更简单的方法可以做到这一点,那将非常有帮助!

4

1 回答 1

1

Outlook API 只能访问 Outlook 联系人,即用户存储在其个人联系人文件夹中的联系人。对于目录联系人,您需要访问目录,正如您所提到的,该目录位于 Azure AD 中。您确实需要使用 Graph API 来访问它们。

您提到令牌管理增加了复杂性。您可能要考虑的一件事是使用统一 API,它使用一个令牌提供对 Azure AD 和 Outlook 数据的访问。它目前处于预览阶段,这里有一个入门:https ://msdn.microsoft.com/en-us/office/office365/howto/get-started-with-office-365-unified-api

于 2015-08-25T12:33:49.907 回答