Blog

Technische Informationen rund um das Thema Modernes Arbeiten

Monat: März 2019

BOT für Microsoft Teams in 5 Minuten

Der Teufel liegt später im Detail – und natürlich in der Funktionalität, die man letztendlich mit einer (BOT-) Entwicklung für Microsoft Teams erzielen möchte.

Die Session von

zeigt die notwendigen Schritte der Entwicklung eines BOTs für Microsoft Teams. Sie vermittelt einen ersten Eindruck und lädt ein, die Schritte selbst nachzuvollziehen und seinen ersten BOT zu erstellen.
Die Session wurde auf der Ignite letzten September aufgezeichnet.
Aufzeichnung einer Session (THR 2040) von der Ignite 2018 (Youtube)

Neben dem BOT Framework in Azure kommt auch der QnA (Question and Answer Maker) zum Einsatz. Dieser ist in der Lage, aus einer Website die notwendig Informationen für Frage / Antwort herauszufiltern und für den Bot aufzubereiten.

Und ja, letztendlich sind es keine 5 Minuten, sondern 20… 

Microsoft Graph – Erste APP

Hat man sich mit Microsoft Graph vertraut gemacht, kann man nun mit der ersten APP beginnen. Auch hierfür findet man auch hier auf der “Get started with Microsoft Graph”-Site  sehr gute Unterstützung.

Wählen Sie die Plattform, mit der Sie starten wollen. 

In Schritt 2 wird registrieren Sie die – für den Zugriff notwendige – App ID. Ich werde darauf in einem neuen Blogeintrag noch einmal detaillierter eingehen.

Die App ID benötigen Sie später bei der Erstellung der APP noch einmal. Am besten gleich kopieren und irgendwo für den späteren Zugriff speichern.

Als nächstes können Sie die Solution für Visual Studio 2017 herunterladen. 

Entpacken Sie die Solution (msgraph-training-uwp.zip). Im Verzeichnis der Solution finden Sie eine Readme.md. Diese erläutert die nächsten Schritte:

To run the completed project in this folder, you need the following:

  • [Visual Studio](https://visualstudio.microsoft.com/vs/) installed on your development machine. If you do not have Visual Studio, visit the previous link for download options. (**Note:** This tutorial was written with Visual Studio 2017 version 15.81. The steps in this guide may work with other versions, but that has not been tested.)

Der nächste Schritt – laut Readme.md – ist die Anpassung der durch die Tutorial-Site durchgeführte Registrierung: 

Register a native application with the Application Registration Portal

  • Open a browser and navigate to the [Application Registration Portal](https://apps.dev.microsoft.com) and login using a **personal account** (aka: Microsoft Account) or **Work or School Account**.
  • Select the APP.
  • On the **Register your application** page, set the **Application Name** to **UWP Graph Tutorial** and select **Create**.
  • On the **UWP Graph Tutorial Registration** page, under the **Properties** section, copy the **Application Id** as you will need it later.
  • Scroll down to the **Platforms** section.
  • Select **Add Platform**.
  • In the **Add Platform** dialog, select **Native Application**.
  • Scroll to the bottom of the page and select **Save**.

Nun kann die Solution geöffnet werden. Es fallen sofort die “Fehlermeldungen” ins Auge:

Wie in der Readme.md beschrieben, muss man kleinere Anpassungen machen, damit die Ausführung gelingt:

  • Open `graph-tutorial.sln` in Visual Studio.
  • Edit the `OAuth.resw` file in visual studio.Replace `YOUR_APP_ID_HERE` with the **Application Id** you got from the App Registration Portal.
  • In Solution Explorer, right-click the **graph-tutorial** solution and choose **Restore NuGet Packages**.

Danach können Sie das Projekt ausführen.

Bei der ersten Anmeldung kommt ein entscheidender Punkt. Wurde in Azure (z. B. durch den Administrator) noch kein “Consent” erteilt, wird für die APP nun nachgefragt, ob die Berechtigungen für die APP akzeptiert werden. Die Berechtigungen müssen spätestens jetzt durch einen Klick auf “Akzeptieren” erteilt werden.

Microsoft Graph – Der Graph Explorer

Möchte man sich mit Microsoft Graph aus Entwickler-Sicht nähern, dann ist – neben der API Reference und den Dokumenten – Microsoft Graph Explorer eine sehr gute Möglichkeit. Man findet ihn auf der Developer-Site für Microsoft Graph.

The Microsoft Graph explorer is a tool that lets you make requests and see responses against the Microsoft Graph.

Bereits ohne Anmeldung hat man hier die Möglichkeit, erste Erfahrungen zu sammeln.  Im ersten Schritt werden ein paar Beispiel-Anfragen am linken Rand angezeigt. Diese drehen sich um den eigenen Benutzer – ohne Anmeldung um einen Demo-Benutzer. Man findet dort vordefinierte Abfragen zum Profil, zum Profilbild, zu E-Mails oder  zu Elementen in OneDrive. Wählt man eine der Abfragen aus, wird in der Query-Zeile die entsprechende Anfrage angezeigt.

In der Response-Anzeige bekommt man die Antworten angezeigt. 

Möchte man eine Übersicht über die Bandbreite von Microsoft Graph bekommen, klickt man auf den kleinen Link unterhalb der Liste der vorgefertigten Abfragen “show more samples“. Nun kann man aus der Fülle der Funktionen wählen – alles, was das Herz begehrt… 

Auswahl der Beispielkategorien im Graph Explorer

Damit öffnet man sich z. B. auch Zugriff auf Abfragen rund um die angelegten Benutzer. 

Ein kurzer Blick in die API Reference hilft einem dabei, etwas mit den Queries spielen zu können… 

You can access users through Microsoft Graph in two ways:

  • By their ID, /users/{id | userPrincipalName}
  • By using the /me alias for the signed-in user, which is the same as /users/{signed-in user's id}"

So kann man direkt an “/users/” den Namen eines Accounts anfügen und bekommt als Antwort dann die entsprechenden Informationen zurück.

Je nach Modul tauchen nun auch nicht mehr nur die Methode “GET” in den Beispielen auf. Man findet nun auch Beispiele für “POST” und “PATCH” – d.h. z. B. für das Anlegen eines Benutzers oder Ändern von Benutzereigenschaften. Diese können aber erst getestet werden, wenn man sich mit einem Microsoft Account angemeldet hat. 

Microsoft Graph

Sobald man sich Gedanken darüber macht, wie man innerhalb der Microsoft Cloud automatisiert auf Informationen (wie z. B. Benutzer) zugreifen kann, stößt man – neben Powershell – schnell auf das Thema Microsoft Graph. Es ist die zentrale Drehscheibe für den programmatischen Zugriff. Es stellt eine Reihe von REST APIs zur Verfügung, mit deren Hilfe man auf Daten in den unterschiedlichen Cloud Services zugreifen kann (Azure Active Directory, Office 365, Enterprise Security and Mobility mit Intune, Identity Manager, Dynamics CRM, Windows 10 Services etc.)

Die zentrale Einstiegsseite findet man hier.

Informationen für Entwickler finden sich unter dieser Website.

In den kommenden Einträgen möchte ich Erfahrungen mit Microsoft Graph schildern.

Back again

Es ist nun eine ganze Zeit her, dass ich mich mit einem Blog beschäftigt habe. Durch die “Scharfschaltung” der DSGVO im Mai letzten Jahres, hatte ich erst einmal davon abgesehen, weiterhin BLOG zu schreiben.

Aber es lag mit Sicherheit nicht nur daran. In den letzten Monaten habe ich mich sehr spezialisierten Themen beschäftigt. 

  • Ich habe die bei uns eingesetzte Callcenter-Lösung um Möglichkeiten erweitert – und viel über Web Services, SQL, C# etc. gelernt.
  • Es ist eine Schnittstelle zwischen Skype for Business und SAP C4C entstanden. Bei Anruf droht Skype nun mit der Seite aus C4C, die dem Kunden / Ansprechpartner zugeordnet ist.
  • Ein kleines Outlook PlugIn übersetzt nun mit Hilfe der Microsoft Cognitive Services Mails (ok, schon fast wieder überfällig, da es hier schon Lösungen gibt), ein weiteres PlugIn berechnet die Anfahrtszeiten zu Terminen.
  • Spannend war die Auseinandersetzung mit einem neuen Cloud Provider, der sich auf Business Prozesse spezialisiert hat. Alles das, was mir in SharePoint oder Flow immer gefehlt hat quasi out-of-the Box.
  • Am rühmlichen Ende stand die Beschäftigung mit Microsoft Graph. Letztendlich ging es um die Frage, wie ein Zugriff auf Azure Active Directory umgesetzt werden kann, der auch in naher Zukunft noch funktionieren wird. Dabei lernt man viel über Microsoft Azure.

Viele Themen, die ich nun in der Folge wieder aufarbeiten und das, was ich dabei gelernt habe, mitteilen möchte. Vielleicht hilft es ja jemandem… 

© 2019 Blog

Theme von Anders NorénHoch ↑