2017-02-10 1 views
0

Ich schreibe einen Client, um alle Elemente des Benutzerpostfachs (einschließlich Kalender, Kontakte) mit meiner Anwendung zu synchronisieren. Hier möchte ich alle Kreationen, Aktualisierungen und Löschungen für alle Objekte erfassen. Office 365 verfügt zwar über eine Kalenderansicht-API (mit Änderungsverfolgung), um Kalenderereignisse zu synchronisieren, sehe aber folgendes Problem:EWS verwaltet APIs - Gibt es eine Möglichkeit, gelöschte Ereignisse aus einem Kalender zu entfernen?

  • Mit calendarview müssen wir einen Zeitbereich für Ereignisse angeben.
  • Calendarview API gibt Wiederholungsereignisse in erweiterter Form. Und gibt keine gelöschten Vorkommen von Wiederholungsereignissen. Sie müssen alle Vorkommen analysieren, um die gelöschten Vorkommen herauszufinden.
  • Mit den obigen Einschränkungen wird es schwierig, Kalenderereignisse für einen langen Zeitraum zu synchronisieren.

    Daher würde ich wirklich schätzen, wenn jemand zu einer Lösung für den folgenden Punkt kann:

    1. Gibt es einen EWS-API gelöschte Objekte zu holen (oder dessen ids nur) aus einem Kalender? Hier möchte ich nur die Liste der Ereignisse nicht in erweiterter Form.
    2. Gibt es eine Möglichkeit, gelöschte Vorkommnisse von einem wiederkehrenden Master-Ereignis zu erhalten?
    3. Gibt es eine bessere Möglichkeit Kalenderereignisse von Exchange zu synchronisieren?

    Antwort

    0

    Die beste Lösung, die ich für sie ist:

    1. Verwenden SyncFolderItems den Kalender als einen anderen Ordner zu synchronisieren. Es gibt alle Elemente in nicht erweiterter Form zurück.
    2. So löschen Sie Vorkommnisse eines wiederkehrenden Ereignisses: Verwenden Sie GetItem-Aufruf mit RecurringMasterId und einige zusätzliche Eigenschaften wie calendar.DeletedOccurrences.
    1

    Also, wenn Sie können app laufen die ganze Zeit (oder die meiste Zeit), können Sie entweder Drücken verwenden, Ziehen oder Streaming Meldungen ein Ereignis zu Ihrer App gesendet werden, wenn sich etwas ändert auf einem Kalender, einschließlich Löschungen. (Streaming ist die bevorzugte Methode in diesen Tagen.) Es gibt auch eine Sync feature in EWS, die ich nie benutzt habe, könnte aber auch hier anwendbar sein. Meine Erfahrung ist, dass, wenn Sie Benachrichtigungen gelöscht haben, das fragliche Element nicht von der ItemId in der Benachrichtigung abgerufen werden kann, da es gegangen ist,, auch wenn es tatsächlich zu Gelöschte Objekte verschoben wurde. Gelöschte Instanzen von wiederkehrenden Besprechungen sind noch schwieriger aufzuspüren, und ich bin mir nicht sicher, ob die Benachrichtigung die tatsächliche Instanz-ID oder die Master-ID enthält.

    +0

    Das Problem ist, ich kann meine app die ganze Zeit und daher kann nicht verwenden Streaming-Benachrichtigungen nicht ausgeführt werden. Danke für die vorgeschlagene Sync-Funktion, ich habe es versucht und es kann verwendet werden, um Elemente des Kalenders zu synchronisieren. – aditya

    Verwandte Themen