2012-04-25 1 views
3

Est-ce que quelqu'un sait comment obtenir tous les éléments marqués dans la boîte de réception en utilisant Microsoft Exchange Web-Services?Services Web MS Exchange: Comment obtenir des éléments avec 'Flag'?

Apparemment, ils ne sont ni dans le dossier Tâches (même s'ils apparaissent dans Outlook), ni IsReminderSet défini sur vrai.

Après plusieurs tentatives réintégrez que des rendez-vous ou des tâches vraies seulement, mais pas les messages marqués:

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

ou

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

ni travail.

Répondre

0

Je sais que cette question est vieux, mais je viens de trouver la liste des exemples de code qui ressemble à cela pourrait faire l'affaire (je ne l'ai pas encore testé moi-même) Source : 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("-----------------------------------------------"); 
    } 
} 
Questions connexes