我正在尝试使用Microsoft Graph查询全局地址列表。我已经使用并调整了https://github.com/microsoftgraph/console-csharp-snippets-sample.git的示例代码 - 但是,我仍然遇到了麻烦。我已经看过这篇文章 - Global Address List Graph API - 这表明我需要使用“/ contacts”端点。但是,当我使用Microsoft.Graph库时,我看不出这对我有何帮助。 Microsoft.Graph库中是否有一些方法或集合可以让我读取GAL?
答案 0 :(得分:1)
“GAL”是MAPI概念,并不真正适用于Graph。使用Graph,您只需阅读公司Active Directory中的用户或联系人。通过组合这两个列表,您可以接近在MAPI客户端中在GAL中看到的内容。
为此,您可以将用户列为文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_list
使用该库,我相信这会让你开始:
client.Users.Request().GetAsync();
对于联系人来说,使用Graph库会更加棘手。组织联系人仅在Microsoft Graph的测试版中受支持,不幸的是客户端库不支持。 (有关信息,请参阅this issue)。如果你有兴趣,Michael Mainer会做write up of how you can generate your own beta version of the library。
有关查询组织联系人的信息,请访问:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/orgcontact。
答案 1 :(得分:0)
截至 2021 年末,似乎不是来自 Microsoft 的简单“导出全局地址列表”API。似乎有手动方法(例如使用 Exchange 管理界面),但没有任何编程方法。
下面是创建近似值的粗略练习(这可能足以满足您的需要)。更准确的练习可能是从官方客户端(例如 Outlook/Outlook Web/Exchange 管理界面)导出 GAL。在某些情况下,GAL 可能是特定于用户的,这可能会使 GAL 导出概念更加复杂。
Azure Functions 可用于运行这些无服务器/“API 化”查询。 Azure 应用注册可用作 OAuth 应用,可授予访问上述权限的权限。 Microsoft Graph Explorer 可方便地测试 Graph 请求。
将数据集粉碎在一起,然后过滤掉字段。一些标志是:
hideFromAddressLists
hideFromOutlookClients
HiddenFromAddressListsEnabled
showInAddressList
,