【问题标题】:Query GAL contacts from Exchange Server by phone number通过电话号码从 Exchange Server 查询 GAL 联系人
【发布时间】:2018-03-05 13:58:31
【问题描述】:

我想从交换服务器中获取与特定电话号码匹配的用户。我特别希望 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】:

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

    【讨论】:

      猜你喜欢
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多