Office 365 Groups und Connectors benutzen-Teil 4


 

Die vorigen Teile dieser Artikelserie zeigen, wie man Office 365 Groups verwenden, einen Webhook erstellt und wie man einen bekannten (bereits definierten) Webhook zum Senden einer Nachricht verwendet. Für ISVs, welche Nachrichten an unbekannte Groups senden wollen, wird natürlich ebenso eine Lösung benötigt, sprich ein Anwender soll in einer App auswählen können, in welche Office 365 Group Nachrichten gepostet werden sollen. Hier zeigen wir wie das funktioniert.

Webhooks in eigenen Apps

Diese Möglichkeit bietet Microsoft im “Connectors Developer Dashboard” unter https://outlook.office.com/connectors/publish an. Natürlich wird die Anmeldung mit einem (beliebigen) Office 365 Benutzer vorausgesetzt, man benötigt also (irgend)einen Office 365 Account. Das Connectors Dashboard zeigt alle von diesem Benutzer erstellten Connectors und kann neue Connectors erstellen.

image_thumb47

Hier kann ein eigener Connector mit erstellt werden, ähnlich der App Konfiguration etwa im Windows Store. Der Connector muss beschrieben werden. Als Ergebnis erhält man den HTML-Code für einen “Connect-Button”. Dieser muss in die eigene App bzw. in eine WebApp eingebaut werden…

image_thumb51

Also bauen wir den Button in eine Webseite ein, hier in ein Default-Template einer ASP.NET MVC App.

image

Aus Sicht des Benutzers

Die Homepage sieht so aus und der “Connect to Office 365” Button wird angezeigt:

image_thumb55

Ein Anwender klickt also auf den Button, um einen Connector für diese Applikation zu erstellen. Der Button leitet zur Office 365 Login-Page um.

image_thumb[3]

Nach erfolgter Authentifizierung folgt ein Wizard. Hier kann der Anwender aus all seinen berechtigten Office 365 Groups auswählen und den Zugriff zu einer Group erlauben. Hier wähle ich die “Support” Group und “Allow”.

image

Und das wars auch schon!

Der Entwickler erhält…

Das Postback fangen wir in einem Event “Callback” auf, welches vier Parameter erhält:

State: “myAppState”, webhook_url: “https://outlook.office365.com/webhook/…”, group_name: “Support” und error: null (falls ein Fehler aufgetreten ist).

Der Screenshot zeigt die Callback-Methode und die erzeugte Webhook-URL mit dem Debugger am Breakpoint.

image

In meiner Demo-App wird die webhook_url nur über die View angezeigt, mehr passiert hier nicht.

image

DIESE Webhook URL stellt also den “Schlüssel” zum Posten in eine Office 365 Group dar. Klar, nun muss sich die App diesen Webhook speichern, etwa in einer Datenbank oder einem anderen Konfigurationsfile. Mithilfe dieses HTTP Endpoints können nun Nachrichten in die ausgewählte Group gesendet werden. Der Anwender hat diesen Endpoint mit dem Wizard erstellt und den Zugriff für die App authorisiert.

Der Connector ist eingerichtet

… und wird natürlich wie zuvor mit einer Info-Nachricht in der Group “Support” angezeigt.

image

Genauso verhält es sich natürlich auch in der Konfiguration der Connectors, hier zur Erinnerung:

image

Connectors Store

Über das Connectors Dashboard https://outlook.office.com/connectors/publish können auch Connectors in den Microsoft Public “Connector Store” eingestellt werden. Es wird nur eine simple Überprüfung durchgeführt und der eigene Connector, sprich die eigene App, kann in der Liste der verfügbaren Connectors für alle Office 365 Anwender weltweit angeboten werden.

Wenn man den “Store Publish” Mechanismus nicht benötigt, kann der Connector im eigenen Office 365 Tenant angeboten werden – für die meisten Unternehmen ist dies bereits ausreichend. Der Connector kann wie gewohnt hinzugefügt und (vom Besitzer des Connectors) entfernt werden.

image

Office 365 Connectors

…stellen somit eine Schnittstelle zu den neuen Office 365 Groups dar und ermöglichen es beliebigen Apps Daten in eine Group zu posten. Wie wir in den einzelnen Teilen gesehen haben, ist das Erstellen eines Webhooks und das Senden von Nachrichten sehr einfach. Es gibt vielfältige Anwendungsmöglichkeiten und die Office 365 Groups bieten eine tolle Möglichkeit, mit Office 365 zusammenzuarbeiten.

Quicklinks: