2017-02-10 15 views
0

Я пишу клиента для синхронизации всех элементов почтового ящика пользователя (включая календари, контакты) с моим приложением. Здесь я хочу захватить, все создание, обновления и удаления для всех элементов. Хотя Office 365 имеет API календаря (с отслеживанием изменений) для синхронизации событий календаря, я столкнулся с следующей проблемой с тем же:EWS управляет API-интерфейсами. Есть ли способ получить удаленные события из календаря?

  1. С календарным просмотром мы должны указать временной диапазон для событий.
  2. Calendarview API предоставляет повторяющиеся события в расширенной форме. И не дает удаленных вхождений из событий повторения. Вам нужно разобрать все вхождения, чтобы выяснить удаленные вхождения.

С вышеуказанными ограничениями сложно синхронизировать события календаря в течение длительного периода времени.

Таким образом, я был бы очень признателен, если кто-то может указывать на решение для следующего:

  1. Есть ли EWS API для извлечения удаленных элементов (или только их идентификаторы) из календаря? Здесь я хочу только список событий не в расширенной форме.
  2. Любой способ получить удаленные вхождения из основного события повторения?
  3. Как лучше синхронизировать события календаря с Exchange?

ответ

0

Лучшее решение я для него является:

  1. Используйте SyncFolderItems для синхронизации календаря в любой другой папке. Он возвращает все элементы в нерасширенной форме.
  2. Чтобы удалить удаленные события повторяющегося события: используйте GetItem-вызов с RecurringMasterId и несколькими дополнительными свойствами, такими как calendar.DeletedOccurrences.
1

Так что, если вы приложение может работать все время (или большую часть времени), вы можете использовать либо Таскаете или Streaming уведомления, чтобы событие было отправлено в приложение, когда-либо изменений на календаре, в том числе удаления. (В настоящее время потоки являются предпочтительным методом.) В EWS также есть Sync feature, которые я никогда не использовал, но может быть применим и здесь. Мой опыт заключается в том, что когда вы получаете удаленные уведомления, этот элемент не может быть найден ItemId в уведомлении, так как он ушел,, даже если он фактически был перемещен в Удаленные элементы. Удаленные экземпляры повторяющихся встреч еще сложнее отслеживать, и я не уверен, содержит ли уведомление фактический идентификатор экземпляра или главный идентификатор.

+0

Проблема в том, что я не могу запускать свое приложение все время и, следовательно, не могу использовать потоковые уведомления. Спасибо, что предложили функцию синхронизации, я попробовал, и ее можно использовать для синхронизации элементов календаря. – aditya

 Смежные вопросы

  • Нет связанных вопросов^_^