按 phone 号码从 Exchange Server 查询 GAL 联系人
Query GAL contacts from Exchange Server by phone number
我想从交换服务器获取与特定 phone 号码相匹配的用户。我特别希望 GAL(全局地址列表)中的用户不来自用户的个人 phone 簿。试了好几种方法都没用。
首先我用过
service.ResolveName("SMTP:", ResolveNameSearchLocation.DirectoryOnly, true)
如此处所述:,但我无法按 phone 号码过滤此列表,并且列表限制为 100 个联系人。
那我用过:
ContactsFolder.Bind(service, WellKnownFolderName.Contacts);
如此处所述:How to retrieve all contacts from Microsoft Exchange using EWS Managed API? and here: How do I get address lists (NOT global) using Exchange WebServices in C#。这只会从个人 phone 簿中检索联系人。
最后,我按照此处所述进行了 SOAP 调用:,但是此 returns 所有联系人都没有 phone - 我必须通过 ID 再次查询每个人才能获得 phone 细节。最大的问题是我需要知道 EWS 无法检索到的 GAL 的 GUID。
是否可以通过 phone 号码过滤 GAL?还有其他方法可以实现吗?
我的项目是在 Visual Studio 2017 年用 C# .Net 编写的。我已经部署了一个测试 Exchange Server 2017(如果需要,我可以提供更多详细信息和访问权限)
Exchange 不允许您通过 phone 号码查询 GAL。我的建议是您忘记使用 EWS 并直接查询目录,例如 GAL 中的任何内容都只是用户或联系人对象的 Active Directory 属性,因此您可以使用 LDAP 直接查询目录,或者如果您使用 Office365,则可以使用图API做同样的事情。
我想从交换服务器获取与特定 phone 号码相匹配的用户。我特别希望 GAL(全局地址列表)中的用户不来自用户的个人 phone 簿。试了好几种方法都没用。
首先我用过
service.ResolveName("SMTP:", ResolveNameSearchLocation.DirectoryOnly, true)
如此处所述:
那我用过:
ContactsFolder.Bind(service, WellKnownFolderName.Contacts);
如此处所述:How to retrieve all contacts from Microsoft Exchange using EWS Managed API? and here: How do I get address lists (NOT global) using Exchange WebServices in C#。这只会从个人 phone 簿中检索联系人。
最后,我按照此处所述进行了 SOAP 调用:
是否可以通过 phone 号码过滤 GAL?还有其他方法可以实现吗?
我的项目是在 Visual Studio 2017 年用 C# .Net 编写的。我已经部署了一个测试 Exchange Server 2017(如果需要,我可以提供更多详细信息和访问权限)
Exchange 不允许您通过 phone 号码查询 GAL。我的建议是您忘记使用 EWS 并直接查询目录,例如 GAL 中的任何内容都只是用户或联系人对象的 Active Directory 属性,因此您可以使用 LDAP 直接查询目录,或者如果您使用 Office365,则可以使用图API做同样的事情。