Как получить папку истории разговоров из office365? - PullRequest
1 голос
/ 08 июля 2011

Я использую EWS и хочу получить папку истории разговоров из Office365 Exchange Online.

Этого можно было достичь методом оценки папки с DisplayName путем получения дочерней папки изКорневая папка.

Однако пользователь может изменить имя на эту папку.

Есть ли метод, который судит от ExtendedProperty для решения этой проблемы?Кроме того, есть ли другой способ?

- пример кода -

        Folder folder = Folder.Bind(this._exchange, WellKnownFolderName.Root);
        //acquire the total number of cases including the subfolder. 
        FolderView view = new FolderView(1);
        view.Traversal = FolderTraversal.Deep;
        FindFoldersResults result = folder.FindFolders(view);
        //acquire All folders. 
        view.PageSize = result.TotalCount;
        result = folder.FindFolders(view);
        FindFoldersResults folders = folder.FindFolders(view);

        foreach (var f in folders.Folders)
        {
            //I want to judge the history folder of the conversation here excluding the DisplayName property. 
        }

Пожалуйста, кто-нибудь предоставит хорошую идею, образцы.С уважением.

1 Ответ

1 голос
/ 13 июля 2011

Чтобы проверить, содержит ли папка элементы из какого-либо разговора, вы можете использовать что-то вроде этого:

var filter = new SearchFilter.IsEqualTo(EmailMessageSchema.ConversationId, convId);
var itemView = new ItemView();
foreach (var f in folders.Folders)
{
    var findResult = f.FindItems(filter, itemView);
}

Фильтр должен ограничивать результаты поиска только элементами, имеющими свойство ConversationId, равное интересующему вас разговору.

...