3

Microsoft Exchange Web サービスを使用して、受信トレイ内でフラグが付けられたすべてのアイテムを取得する方法を知っている人はいますか?

どうやら、それらは Tasks フォルダー内になく (Outlook に表示されていても)、trueIsReminderSetに設定されていません。

次の試行では、予定のみまたは真のタスクのみが返されますが、フラグ付きのメッセージは返されません。

var msgsView = new ItemView(100);
var msgsFilter = new SearchFilter.IsEqualTo(ItemSchema.IsReminderSet, true);
var flagged = exSvc.FindItems(WellKnownFolderName.Inbox, msgsFilter, msgsView);

また

var taskView = new ItemView(100);
var tasks = exSvc.FindItems(WellKnownFolderName.Tasks, taskView);

どちらも機能しません。

4

1 に答える 1

0

この質問が古いことは知っていますが、うまくいくように見えるサンプルコードのリストを見つけました(まだ自分でテストしていません)ソース:http://independentsoft.de/exchangewebservices/tutorial/findmessageswithflag.html

    IsEqualTo restriction1 = new IsEqualTo(MessagePropertyPath.FlagStatus, "1"); //FlagStatus.Complete
    IsEqualTo restriction2 = new IsEqualTo(MessagePropertyPath.FlagStatus, "2"); //FlagStatus.Marked

    Or restriction3 = new Or(restriction1, restriction2);

    FindItemResponse response = service.FindItem(StandardFolder.Inbox
                 , MessagePropertyPath.AllPropertyPaths, restriction3);

for (int i = 0; i < response.Items.Count; i++)
{
    if (response.Items[i] is Message)
    {
         Message message = (Message)response.Items[i];

         Console.WriteLine("Subject = " + message.Subject);
         Console.WriteLine("FlagStatus = " + message.FlagStatus);
         Console.WriteLine("FlagIcon = " + message.FlagIcon);
         Console.WriteLine("FlagCompleteTime = " + message.FlagCompleteTime);
         Console.WriteLine("FlagRequest = " + message.FlagRequest);
         Console.WriteLine("-----------------------------------------------");
    }
}
于 2014-12-06T20:20:36.000 に答える