Office 365 Rest Services für die Datensynchronisation

Wir haben eine Komponente entwickelt, die die Synchronisierung und Verwaltung von Kontakten und Kalenderdaten für Microsoft Webservices-Subsets ermöglicht.

Herausforderung

Das Ziel von SCAND war es, eine Komponente zu entwickeln und zu implementieren, die das Abrufen und Verwalten von Kontakten (Adressbüchern) und Kalendern innerhalb der folgenden Untermengen von Webdiensten: Office 365, Hotmail.com, Live.com, MSN.com, Outlook.com und Passport.com ermöglicht.

Für das Erstellen der Komponente haben wir verwendet:

  • .NET, C# und WPF
  • Outlook REST API-Webdienst
  • Outlook REST API v2.0
  • Azure AD v2-Authentifizierung

Herangehen

Die Plattform Office 365 APIs erwies sich als eine Grundlage für die Implementierung der Komponente und die Umsetzung der Interaktion mit Diensten, die die Outlook REST API unterstützen. Die Plattform umfasst die Office 365 SDKs für Microsoft Visual Studio. Sie von ihrer Seite stellen .NET-Bibliotheken bereit, die die Office 365-REST-Dienste umschließen und eine einfachere Verbindung mit den Office 365-Daten einschließlich E-Mails, Kalendern, Kontakten, Dateien und Ordnern gewährleisten. Da die Entwicklung auf den bestehenden Synchronisationsmodulen basierte, wurde die Implementierung des neuen Moduls auf die Erstellung der Wrapper für die Kontakt-API und die Kalender-API reduziert.

Beschreibung

Die REST-API-Ressourcen wie Contact, ContactFolder, Calendar, CalendarGroup und Event, die zum Microsoft.OutlookServices-Namespace gehören, trugen zur Implementierung der Hauptfunktionen der Wrapper Kontakt und Kalender bei.

Um den Zugriff auf die Daten des Benutzers zu ermöglichen, haben wir außerdem ein Modul erstellt, das die Autorisierung des Benutzers behandelt und REST-API-Anfragen für die Daten stellt. Hier haben wir uns für den Azure AD v2-Authentifizierungsendpunkt entschieden, da er das Erstellen der App, die sowohl mit korporativen als auch mit persönlichen Microsoft Konten funktionieren kann, vereinfacht. Dies bedeutet, dass die Benutzer von geschäftlichen, privaten und Schulkonten die Möglichkeit haben, sich mit einem einzigen Tastendruck anzumelden.

Was Outlook REST betrifft, ist die Stapelverarbeitung eine der spezifischen Funktionen. Sie ermöglicht den Entwicklern, mehrere Anfragen in einer einzigen HTTP-Batch-Anfrage zu platzieren, wodurch die Anzahl der HTTP-Verbindungen und der Overhead reduziert werden. Die Batchanfragen greifen auf die Daten des angemeldeten Benutzers zu, die durch Azure Active Directory in Office 365 oder in einem Microsoft-Konto (Hotmail.com, Live.com, MSN.com, Outlook.com oder Passport.com) gesichert sind. Es war eine Aufgabe mit höchster Priorität für uns, diese Funktion bereitzustellen.

Hauptmerkmale

  • Das Arbeiten mit den Diensten, die die Outlook-REST-API unterstützen: Office 365, Hotmail.com, Live.com, MSN.com, Outlook.com und Passport.com.
  • Das Verwenden von dem Azure AD v2-Authentifizierung Endpunkt.
  • Das Senden von Outlook-REST-Anfragen in Stapeln.
  • Das Verwenden von Microsoft.OutlookServices-Namespace.
  • Eine einfache Integration mit den Synchronisationsmodulen der App.
  • Das Abrufen der Ressourcen Struktur mit Kontakten und Kalendern und Erstellen einer neuen Ressource.
  • Das Überprüfen der Liste der Kontakte und Ereignisse, die sich auf eine bestimmte Ressource beziehen.
  • Änderungen für die verfügbaren Ressourcen anwenden und speichern
  • Das Hinzufügen und Löschen einer Ressource.

Ergebnis

Wir haben eine Komponente entwickelt, um die Synchronisierung und Verwaltung von Kontakten und Kalenderdaten für die Untermengen von Microsoft-Webdiensten zu ermöglichen.

Unsere Komponente wird als ein Kern für die Integration von den Apps in die Office 365 REST-Dienste, insbesondere Outlook REST, dienen, da sie einen einfacheren Zugriff auf die Office 365-Daten ermöglicht.

Verschiedene plattformübergreifende Lösungen zur Integration mit Office 365 für Linux, macOS, Android und iOS können angetrieben von der Komponente entwickelt werden.

Sie setzen die Verwendung von einer integrierten Entwicklungsumgebung (Integrated Development Environment) voraus, nämlich Microsoft Visual Studio, Eclipse und Android Studio oder Xcode. Eine einfache und schnelle Code-Portierung und Erstellung von Web-Apps mit ASP .NET, PHP, Java, Python oder Ruby on Rails sind verfügbar.

Benötigen Sie Unterstützung bei einem ähnlichen Projekt?