通过电话号码从Exchange Server查询GAL联系人

问题描述 投票:2回答:1

我想从交换服务器获取与特定电话号码匹配的用户。我特别希望GAL(全球地址列表)中的用户不是来自用户的个人电话簿。我尝试了几种方法,但没有用。

首先我用过

service.ResolveName("SMTP:", ResolveNameSearchLocation.DirectoryOnly, true)

如下所述:Get all contacts from exchange server,但我不能通过电话号码过滤此列表,列表仅限于100个联系人。

然后我用过:

ContactsFolder.Bind(service, WellKnownFolderName.Contacts);

如下所述:How to retrieve all contacts from Microsoft Exchange using EWS Managed API?和这里:How do I get address lists (NOT global) using Exchange WebServices in C#。这仅从个人电话簿中检索联系人。

最后我按照这里描述的方式进行了SOAP调用:How to get all users form Exchange with EWS,但这会返回所有没有电话的联系人 - 我必须再次通过id查询每个人以获取电话详细信息。最大的问题是我需要知道EWS无法检索的GAL的GUID。

有没有可能通过电话号码过滤GAL?有没有其他方法来实现这一目标?

我的项目是用Visual Studio 2017中的C#.Net编写的。我已经部署了一个测试Exchange Server 2017(如果需要,我可以提供更多详细信息和访问权限)

c# .net exchange-server exchangewebservices ews-managed-api
1个回答
0
投票

Exchange不允许您通过电话号码查询GAL。我建议您忘记使用EWS并直接查询目录,例如GAL中的任何内容只是用户或联系人对象的Active Directory属性,因此您可以使用LDAP直接查询目录,或者如果您使用Office365,则可以使用Graph API做同样的事情。

© www.soinside.com 2019 - 2024. All rights reserved.