J'utilise un EWSJavaAPI pour créer une tâche dans Exchange Server mais je n'obtiens aucune référence à la tâche d'extraction en utilisant la même API. ci-dessous est mon code d'une tâche:Comment lire une tâche à l'aide de EWSJavaAPI?
Task t=new Task(service);
t.setSubject("Task to test in JAVA");
t.setBody(MessageBody.getMessageBodyFromText("Test body from JAVA"));
t.setStartDate(startTime);
t.setDueDate(endTime);
t.save();
et j'ai essayé ci-dessous le code pour chercher tâche, mais cela ne fonctionne pas:
//Create the extended property definition.
ExtendedPropertyDefinition taskCompleteProp = new
ExtendedPropertyDefinition(DefaultExtendedPropertySet.Task, 0x0000811C,
MapiPropertyType.Boolean);
//Create the search filter.
SearchFilter.IsEqualTo filter = new
SearchFilter.IsEqualTo(taskCompleteProp, false);
//Get the tasks.
FindItemsResults<Item> tasks =
service.findItems(WellKnownFolderName.Tasks, filter, new ItemView(50));
for(Item task:tasks){
System.out.println(task.getSubject());
System.out.println(task.getBody());// getting error at this line
System.out.println(task.getReminderMinutesBeforeStart());
System.out.println(task.getReminderDueBy());
System.out.println("=======================");
}
erreur à task.getBody(); microsoft.exchange.webservices.data.ServiceObjectPropertyException: Vous devez charger ou affecter cette propriété avant de pouvoir lire sa valeur. à microsoft.exchange.webservices.data.PropertyBag.getPropertyValueOrException (Source inconnue) à microsoft.exchange.webservices.data.PropertyBag.getObjectFromPropertyDefinition (Source inconnue) à microsoft.exchange.webservices.data.Item.getBody (Source inconnue) à MSExchangeEmailService.readTask (MSExchangeEmailService.java:146) à MSExchangeEmailService.main (MSExchangeEmailService.java:224)
S'il vous plaît aider, cette approche est bonne pour aller chercher tâche ??
pour (tâche d'objet: tâches) { \t \t task.load(); // ajouté cette ligne \t \t System.out.println (task.getSubject()); \t \t System.out.println (task.getBody()); \t \t \t} Après l'ajout de task.load() je peux obtenir le corps mais maintenant je veux obtenir la tâche startdate et duedate .Comment obtenir ceci –
Est-ce que vous placez 'startdate' et' duedate' à une valeur plus tôt dans votre code? E.G 'task.StartDate = DateTime.Now;'. si oui, alors vous pouvez simplement faire 'System.out.println (task.StartDate);' – MadDev
Non, je ne crée aucune tâche en lisant simplement la tâche de lecture –