Erstellen einer aktionsbasierten Nachrichtenerweiterung
Die aktionsbasierte Teams-Nachrichtenerweiterung ermöglicht Benutzern die Interaktion mit Webdiensten im Microsoft Teams-Client. Nachrichtenerweiterungen helfen beim Initiieren von Aktionen in einem externen System über den Nachrichtenerstellungsbereich, das Befehlsfeld oder direkt über eine Nachricht.
Wichtige Features der aktionsbasierten Nachrichtenerweiterung:
- Präsentiert dem Benutzer ein modales Popupfenster zum Sammeln oder Anzeigen von Informationen.
- Löst die Aktionsbefehle aus dem Nachrichtenbereich zum Verfassen, dem Befehlsfeld oder aus einer Nachricht aus.
Diese Schritt-für-Schritt-Anleitung hilft Ihnen beim Erstellen einer aktionsbasierten Teams-Nachrichtenerweiterung, um Aktionen aus dem Nachrichtenerstellungsbereich und dem Nachrichtenbereich zu initiieren. Am Ende dieses Tutorials können Sie die folgende Ausgabe erzielen:
Voraussetzungen
Stellen Sie sicher, dass Sie die folgenden Tools installieren und Ihre Entwicklungsumgebung einrichten:
Installieren | Zum Benutzen... | |
---|---|---|
Microsoft Teams | Microsoft Teams für die Zusammenarbeit mit allen, mit denen Sie arbeiten, über Apps für Chats, Besprechungen und Anrufe an einem Ort. | |
Visual Studio 2022 | Sie können die Unternehmensversion in Visual Studio 2022 und die Workloads ASP.NET und Webentwicklung installieren. Verwenden Sie die neueste Version. | |
.NET Core SDK | Angepasste Bindungen für lokales Debuggen und Bereitstellungen von Azure Functions-Apps. Wenn Sie die neueste Version nicht installiert haben, installieren Sie die portable Version. | |
Entwicklungstunnel | Teams-App-Features (Konversationsbots, Nachrichtenerweiterungen und eingehende Webhooks) erfordern eingehende Verbindungen. Ein Tunnel verbindet Ihr Entwicklungssystem mit Teams. Dev Tunnel ist ein leistungsstarkes Tool, um Ihren Localhost sicher für das Internet zu öffnen und zu steuern, wer Zugriff hat. Dev Tunnel ist in Visual Studio 2022 Version 17.7.0 oder höher verfügbar. Oder Sie können ngrok auch als Tunnel verwenden, um Ihr Entwicklungssystem mit Teams zu verbinden. Dies ist nicht für Apps erforderlich, die nur Registerkarten enthalten. Dieses Paket wird im Projektverzeichnis installiert (mit npm devDependencies ). |
Hinweis
Nachdem Sie ngrok heruntergeladen haben, registrieren Sie sich, und installieren Sie authtoken.
Einrichten einer lokalen Umgebung
Öffnen Sie Microsoft-Teams-Samples.
Wählen Sie Code aus.
Wählen Sie im Dropdownmenü Mit GitHub Desktop öffnen aus.
Wählen Sie Klonen aus.
Registrieren der Microsoft Entra-App
Die folgenden Schritte helfen Ihnen beim Erstellen und Registrieren Ihres Bots im Azure-Portal:
- Erstellen und registrieren Sie Ihre Azure-App.
- Erstellen Sie einen geheimen Clientschlüssel, um die SSO-Authentifizierung des Bots zu aktivieren.
- Fügen Sie den Teams-Kanal hinzu, um den Bot bereitzustellen.
- Erstellen Sie einen Tunnel zu den Endpunkten Ihres Webservers mithilfe von Dev Tunnel (empfohlen) oder ngrok.
- Fügen Sie dem von Ihnen erstellten Entwicklungstunnel einen Messagingendpunkt hinzu.
Hinzufügen der App-Registrierung
Navigieren Sie zum Azure-Portal.
Wählen Sie App-Registrierungen aus.
Wählen Sie + Neue Registrierung aus.
Geben Sie den Namen Ihrer App ein.
Wählen Sie Konten in einem beliebigen Organisationsverzeichnis (Beliebiger Microsoft Entra ID-Mandant – Mehrinstanzenfähig) aus.
Wählen Sie Registrieren aus.
Ihre App ist in der Microsoft Entra-ID registriert. Die App-Übersichtsseite wird angezeigt.
Hinweis
Speichern Sie die App-ID unter Anwendungs-ID (Client) und Verzeichnis-ID (Mandant) zur weiteren Verwendung.
Erstellen eines Tunnels
Öffnen Sie Visual Studio.
Wählen Sie Neues Projekt erstellen aus.
Geben Sie im Suchfeld ASP.NET ein. Wählen Sie in den Suchergebnissen ASP.NET Core Web App aus.
Wählen Sie Weiter aus.
Geben Sie Projektname ein , und wählen Sie Weiter aus.
Wählen Sie Erstellen aus.
Ein Übersichtsfenster wird angezeigt.
Wählen Sie in der Dropdownliste Debug die Option Dev Tunnels (kein aktiver Tunnel)>Tunnel erstellen... aus.
Ein Popupfenster wird geöffnet.
Aktualisieren Sie die folgenden Details im Popupfenster:
- Konto: Geben Sie ein Microsoft- oder GitHub-Konto ein.
- Name: Geben Sie einen Namen für Ihren Tunnel ein.
- Tunneltyp: Wählen Sie in der Dropdownliste die Option Temporär aus.
- Zugriff: Wählen Sie in der Dropdownliste Öffentlich aus.
Wählen Sie OK aus.
Ein Popupfenster wird angezeigt, in dem angezeigt wird, dass der Entwicklungstunnel erfolgreich erstellt wurde.
Wählen Sie OK aus.
Sie finden den tunnel, den Sie erstellt haben, in der Debug-Dropdownliste wie folgt:
Wählen Sie F5 aus, um die Anwendung im Debugmodus auszuführen.
Wenn ein Dialogfeld Sicherheitswarnung angezeigt wird, wählen Sie Ja aus.
Ein Popupfenster wird geöffnet.
Wählen Sie Weiter.
Die Dev Tunnel-Startseite wird in einem neuen Browserfenster geöffnet, und der Entwicklungstunnel ist jetzt aktiv.
Wechseln Sie zu Visual Studio, und wählen Sie Ausgabe anzeigen >aus.
Wählen Sie im Dropdownmenü Ausgabekonsoledie Option Dev Tunnels aus.
In der Ausgabekonsole wird die Dev Tunnel-URL angezeigt.
Hinzufügen einer Webauthentifizierung
Wählen Sie im linken Bereich unter Verwalten die Option Authentifizierung aus.
Wählen SiePlattformweb>hinzufügenaus.
Geben Sie den Umleitungs-URI für Ihre App ein, indem Sie an den vollqualifizierten Domänennamen anfügen
auth-end
. Zum Beispielhttps://your-devtunnel-domain/auth-end
oderhttps://your-ngrok-domain/auth-end
.Aktivieren Sie unter Implizite Genehmigung und Hybridflows die Kontrollkästchen Zugriffstoken und ID-Token .
Wählen Sie Konfigurieren aus.
Wählen Sie unter Web die Option URI hinzufügen aus.
https://token.botframework.com/.auth/web/redirect
eingeben.Klicken Sie auf Speichern.
Erstellen eines geheimen Clientschlüssels
Wählen Sie im linken Bereich unter Verwalten die Option Zertifikate & Geheimnisse aus.
Wählen Sie unter Geheime Clientschlüsseldie Option + Neuer geheimer Clientschlüssel aus.
Das Fenster Geheimen Clientschlüssel hinzufügen wird angezeigt.
Geben Sie Beschreibung ein.
Klicken Sie auf Hinzufügen.
Wählen Sie unter Wertdie Option In Zwischenablage kopieren aus, um den Wert des geheimen Clientschlüssels zur weiteren Verwendung zu speichern.
Api-Berechtigung hinzufügen
Wählen Sie im linken Bereich unter Verwalten die Option API-Berechtigungen aus.
Wählen Sie + Berechtigung hinzufügen aus.
Wählen Sie Microsoft Graph aus.
Wählen Sie Delegierte Berechtigungen aus.
Wählen Sie die folgenden Berechtigungen aus:
- OpenId-Berechtigungen>email, offline_access, openid, profile.
- Benutzer>User.Read.
Wählen Sie Berechtigungen hinzufügen aus.
Hinweis
- Wenn einer App keine Zustimmung des IT-Administrators erteilt wird, müssen Benutzer bei der ersten Verwendung einer App ihre Zustimmung erteilen.
- Benutzer müssen den API-Berechtigungen nur zustimmen, wenn die Microsoft Entra-App in einem anderen Mandanten registriert ist.
Hinzufügen des Anwendungs-ID-URI
Wählen Sie im linken Bereich unter Verwalten die Option API verfügbar machen aus.
Wählen Sie neben Anwendungs-ID-URIdie Option Hinzufügen aus.
Aktualisieren Sie den Anwendungs-ID-URI im
api://your-devtunnel-domain/botid-{AppID}
Format oderapi://your-ngrok-domain/botid-{AppID}
, und wählen Sie Speichern aus.Die folgende Abbildung zeigt den Domänennamen:
Hinzufügen eines Bereichs
Wählen Sie im linken Bereich unter Verwalten die Option API verfügbar machen aus.
Wählen Sie + Bereich hinzufügen aus.
Geben Sie access_as_user als Bereichsnamen ein.
Wählen Sie unter Wer kann zustimmen?die Option Administratoren und Benutzer aus.
Aktualisieren Sie die Werte für die restlichen Felder wie folgt:
Geben Sie Teams kann als Anzeigename der Administratoreinwilligungauf das Profil des Benutzers zugreifen ein.
Geben Sie Erlaubt Teams das Aufrufen der Web-APIs der App als aktuellen Benutzer als Beschreibung der Administratoreinwilligung ein.
Geben Sie Teams kann auf das Benutzerprofil zugreifen und Anforderungen im Namen des Benutzers als Anzeigename für die Benutzereinwilligung stellen ein.
Geben Sie Teams aktivieren ein, um die APIs dieser App mit den gleichen Rechten wie der Benutzer als Beschreibung der Benutzereinwilligung aufzurufen.
Stellen Sie sicher, Zustand auf Aktiviert festgelegt ist.
Klicken Sie auf Bereich hinzufügen.
Die folgende Abbildung zeigt die Felder und die Werte:
Hinweis
Der Bereichsname muss mit dem Anwendungs-ID-URI übereinstimmen, der
/access_as_user
am Ende angefügt ist.
Hinzufügen einer Clientanwendung
Wählen Sie im linken Bereich unter Verwalten die Option API verfügbar machen aus.
Identifizieren Sie unter Autorisierte Clientanwendungen die Anwendungen, die Sie für die Webanwendung Ihrer App autorisieren möchten.
Wählen Sie + Clientanwendung hinzufügen aus.
Fügen Sie Teams mobile oder Desktop- und Teams-Webanwendung hinzu.
Für Teams Mobile oder Desktop: Geben Sie die Client-ID als ein
1fec8e78-bce4-4aaf-ab1b-5451cc387264
.Für Teams-Web: Geben Sie die Client-ID als ein
5e3ce6c0-2b1f-4285-8d4b-75ee78787346
.
Aktivieren Sie das Kontrollkästchen Autorisierte Bereiche .
Wählen Sie Anwendung hinzufügen aus.
Die folgende Abbildung zeigt die Client-ID:
Erstellen Ihres Bots
Erstellen einer Azure-Botressource
Hinweis
Wenn Sie Ihren Bot bereits in Teams testen, melden Sie sich von dieser App und Von Teams ab. Melden Sie sich erneut an, um diese Änderung anzuzeigen.
Wechseln Sie zu Startseite.
Wählen Sie + Ressource erstellen aus.
Geben Sie in das Suchfeld Azure Bot ein.
Drücken Sie die EINGABETASTE.
Wählen Sie Azure Bot aus.
Wählen Sie Erstellen aus.
Geben Sie den Botnamen im Bothandle ein.
Wählen Sie Ihr Abonnement aus der Dropdownliste aus.
Wählen Sie Ihre Ressourcengruppe aus der Dropdownliste aus.
Wenn Sie nicht über eine vorhandene Ressourcengruppe verfügen, können Sie eine neue Ressourcengruppe erstellen. Führen Sie die folgenden Schritte aus, um eine neue Ressourcengruppe zu erstellen:
- Wählen Sie Neu erstellen aus.
- Geben Sie den Ressourcennamen ein, und wählen Sie OK aus.
- Wählen Sie in der Dropdownliste Neuer Ressourcengruppenstandort einen Standort aus.
Wählen Sie unter Preise die Option Plan ändern aus.
Wählen Sie FO Free>Select aus.
Wählen Sie unter Microsoft App-IDdie Option App-Typ als mehrinstanzenfähig aus.
Wählen Sie unter Erstellungstyp die Option Vorhandene App-Registrierung verwenden aus.
Geben Sie die App-ID ein.
Hinweis
Sie können nicht mehr als einen Bot mit derselben Microsoft-App-ID erstellen.
Wählen Sie Überprüfen + erstellen aus.
Nachdem die Überprüfung erfolgreich war, wählen Sie Erstellen aus.
Die Bereitstellung des Bots dauert einige Minuten.
Wählen Sie Zu Ressource wechseln aus.
Sie haben Ihren Azure-Bot erfolgreich erstellt.
Hinzufügen eines Teams-Kanals
Wählen Sie im linken Bereich Kanäle aus.
Wählen Sie unter Verfügbare Kanäledie Option Microsoft Teams aus.
Aktivieren Sie das Kontrollkästchen, um die Nutzungsbedingungen zu akzeptieren.
Wählen Sie Zustimmen aus.
Wählen Sie Anwenden aus.
So fügen Sie einen Messagingendpunkt hinzu
Verwenden Sie die Dev Tunnel-URL in der Ausgabekonsole als Messagingendpunkt.
Wählen Sie im linken Bereich unter Einstellungen die Option Konfiguration aus.
Aktualisieren Sie den Messagingendpunkt im Format
https://your-devtunnel-domain/api/messages
.Wählen Sie Anwenden aus.
Sie haben erfolgreich einen Bot im Azure Bot-Dienst eingerichtet.
Hinweis
Wenn der Application Insights-Instrumentierungsschlüssel einen Fehler anzeigt, aktualisieren Sie mit der App-ID.
Einrichten von App-Einstellungen und Manifestdateien
Wechseln Sie zur appsettings.json-Datei im geklonten Repository.
Öffnen Sie die appsettings.json-Datei , und aktualisieren Sie die folgenden Informationen:
- Legen Sie auf MultiTenant fest
"MicrosoftAppType"
. - Legen Sie
"MicrosoftAppId"
auf die Microsoft-App-ID Ihres Bots fest. - Legen Sie
"MicrosoftAppPassword"
auf den Wert des geheimen Clientschlüssels Ihres Bots fest. - Lassen Sie
"MicrosoftAppTenantId"
für MultiTenant-Bot leer. - Legen Sie auf den vollqualifizierten Domänennamen fest
"BaseUrl"
.
- Legen Sie auf MultiTenant fest
Wechseln Sie zur manifest.json-Datei im geklonten Repository.
Öffnen Sie die manifest.json-Datei , und nehmen Sie die folgenden Änderungen vor:
- Ersetzen Sie durch
<<validDomains>>
Ihren vollqualifizierten Domänennamen. - Ersetzen Sie alle Vorkommen von
<<Microsoft-App-ID>>
durch die Microsoft App-ID Ihres Bots.
- Ersetzen Sie durch
Erstellen und Ausführen des Diensts
Verwenden Sie Visual Studio oder die Befehlszeile, um den Dienst zu erstellen und auszuführen.
Öffnen Sie Visual Studio.
Wechseln Sie zu Datei>Projekt>öffnen/Projektmappe.....
Wählen Sie im Ordner csharp die Datei TeamsMessagingExtensionsAction.csproj aus.
Press F5 to run the project.
Wählen Sie Ja aus, wenn das folgende Dialogfenster angezeigt wird:
Eine Webseite wird mit der Meldung Ihr Bot ist bereit! angezeigt.
Hinzufügen der App "Aktionsnachrichtenerweiterung" zu Teams
Wechseln Sie in Ihrem geklonten Repository zu beispiele>msgext-action>csharp>TeamsAppManifest.
Erstellen Sie eine .zip mit den folgenden Dateien, die im Manifestordner vorhanden sind:
- manifest.json
- icon-outline.png
- icon-color.png
Wählen Sie im Teams-Client das Symbol Apps aus.
Wählen Sie Verwalten Ihrer Apps aus.
Wählen Sie App hochladen aus.
Suchen Sie nach der Option Hochladen einer benutzerdefinierten App. Wenn die Option angezeigt wird, ist der benutzerdefinierte App-Upload aktiviert.
Hinweis
Wenden Sie sich an Ihren Teams-Administrator, wenn Sie die Option zum Hochladen einer benutzerdefinierten App nicht finden.
Wählen Sie Öffnen aus, um die messaging.zip Datei hochzuladen, die Sie im Ordner TeamsAppManifest erstellt haben.
Interagieren mit der App in Teams
Wählen Sie in der Befehlsliste zum Verfassenfeld den Befehl Create Card (Karte erstellen) aus.
Geben Sie Ihre Informationen in das modale Popupfenster ein.
Wählen Sie Senden aus.
Wählen Sie im Überlaufmenü weitere Optionen (...) aus.
Wählen Sie Weitere Aktionen>Nachricht freigeben aus.
Wenn Sie ein Bild einschließen möchten, aktivieren Sie das Kontrollkästchen Bild in Hero card einschließen , und wählen Sie dann Absenden aus.
Abschließen der Herausforderung
Haben Sie sich so etwas einfallen lassen?
Herzlichen Glückwunsch!
Sie haben das Tutorial für die ersten Schritte mit einer Aktionsnachrichtenerweiterungs-App abgeschlossen.
Liegt ein Problem mit diesem Abschnitt vor? Wenn ja, senden Sie uns Feedback, damit wir den Abschnitt verbessern können.