如何通过 EWS 对 Exchange 中的联系人进行排序

How to sort contacts in Exchange through EWS

我正在尝试查看是否有办法在 EWS 中将联系人导入联系人文件夹后按姓氏对联系人进行排序。

我有一个来自该站点的成员帮助我使用一些代码来使用 ThreadJob 模块导入联系人列表。作为我的代码看起来谎言的概述,你可以参考这个link:

上面 link 中修改后的代码效果很好,导入联系人的时间缩短了一半(最初需要 5-6 分钟,之后需要 2-3 分钟)。我现在面临的新问题是,由于导入在不同的线程作业中运行,因此它会乱序导入联系人,所以我很好奇是否有一种简单的方法可以告诉 Exchange 通过 SurName 求助于他们?有什么想法吗?

我愿意使用 EWS/EWS API/ Graph API 或您能想到的任何其他方法。我需要对所有用户邮箱进行排序。

谢谢!

您似乎没有在代码中设置 FileAs 属性,这意味着您只会在 Outlook 或 OWA 中获得默认的 FileAs 顺序。例如,在图表中,您 post 应该包括 属性 例如

POST https://graph.microsoft.com/v1.0/me/contactFolders/{id}/contacts
Content-type: application/json
Content-length: 210

{
  "parentFolderId": "parentFolderId-value",
  "birthday": "datetime-value",
  "fileAs": "fileAs-value",
  "displayName": "displayName-value",
  "givenName": "givenName-value",
  "initials": "initials-value"
}

通常你会做类似姓氏,名字的事情

您的问题有点令人困惑,但是因为您提到默认情况下不对项目进行排序的 EWS,它只会 return 然后按照 FIFO 顺序进行排序,即它们的创建顺序。您可以在 EWS 中将 OrderBy 与 ItemView https://docs.microsoft.com/en-us/dotnet/api/microsoft.exchange.webservices.data.itemview.orderby?redirectedfrom=MSDN&view=exchange-ews-api#Microsoft_Exchange_WebServices_Data_ItemView_OrderBy

一起使用