Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Dieser Artikel basiert auf dem v3 Bot Framework SDK. Wenn Sie nach einer aktuellen Dokumentationsversion 4.6 oder höher des SDK suchen, lesen Sie den Abschnitt Konversations-Bots .
Bots und Registerkarten arbeiten zusammen und werden häufig in einem einzigen Back-End-Dienst kombiniert. In diesem Abschnitt werden bewährte Methoden und allgemeine Muster für die gemeinsame Verwendung von Registerkarten und Bots beschrieben.
Zuordnen von Benutzeridentitäten zwischen Bot und Registerkarte
Beispiel: Angenommen, Ihre Registerkartenanwendung verwendet ein proprietäres ID-System, um ihren Inhalt zu sichern. Angenommen, Sie haben auch einen Bot, der mit dem Benutzer interagieren kann. In der Regel möchten Sie Inhalte auf der Registerkarte anzeigen, die für den anzeigenden Benutzer spezifisch sind. Die Herausforderung besteht darin, dass sich die Benutzer-ID in Ihrem System wahrscheinlich von der Benutzer-ID Microsoft Teams unterscheidet. Wie verbinden Sie also diese beiden Identitäten? Im Allgemeinen besteht der empfohlene Ansatz darin, den Benutzer beim Bot mit demselben Identitätssystem anzumelden, das für die Authentifizierung für den Inhalt der Registerkarte verwendet wird. Sie können die Implementierung über die Anmeldeaktion durchführen, die den Benutzer normalerweise über einen OAuth-Fluss anmeldet.
Dieser Ablauf funktioniert am besten, wenn Ihr Identitätsanbieter das OAuth 2.0-Protokoll implementiert. Sie können dann die Teams-Benutzer-ID mit den Anmeldeinformationen des Benutzers aus Ihrem eigenen Identitätsdienst verknüpfen.
Erstellen von Deep Links zu Registerkarten in Nachrichten von Ihrem Bot
Sie möchten Registerkarten verwenden, um mehr Inhalte anzuzeigen, die in eine Karte passen, oder um eine Möglichkeit zum Erledigen komplexer Formularausfüllaufgaben mithilfe des Registerkartenzeichenbereichs bereitzustellen. Ziehen Sie beispielsweise vor, den Benutzer zur Registerkarte zu navigieren, wenn der Benutzer die Karte aus Ihrem Bot auswählt. Dazu müssen Sie die Nachricht Ihres Bots so codieren, dass sie eine Deep-Link-URL enthält, entweder durch Markup oder als Ziel der openUrl-Aktion.
Deep Links basieren auf einer entityId, einem nicht transparenten Wert, der einer eindeutigen Entität in Ihrem System zugeordnet ist. Wenn die Registerkarte erstellt wird, speichern Sie einen einfachen Zustand. Beispielsweise ein Flag in Ihrem Back-End, das angibt, dass die Registerkarte im Kanal erstellt wurde. Wenn Ihr Bot eine Nachricht erstellt, kann er auf die entityId zielen, die dieser Registerkarte zugeordnet ist.
Hinweis
Da Tabs statisch sind und mit der App installiert werden, können Sie in persönlichen Chats immer von deren Existenz ausgehen und somit entsprechend Deep Links erstellen.
Senden von Benachrichtigungen für Registerkartenaktualisierungen
Häufig möchten Sie den Endbenutzer benachrichtigen, wenn ein Update oder eine Benutzeraktion auf einer Registerkarte auftritt. Ein Beispielszenario ist das Zuweisen einer Aufgabe oder eines Tickets zu einem Teamkollegen und die anschließende Benachrichtigung dieses Teammitglieds.
Dieses Szenario kann auf zwei Arten erreicht werden:
Wenn Sie einen gesamten Kanal benachrichtigen möchten, kann Ihr Bot eine Nachricht asynchron an den Kanal senden. Es gibt keine Möglichkeit für einen Bot, die Registerkartenkonversation proaktiv zu erstellen, wenn er nicht mit der Registerkarte erstellt wurde.
Wenn Sie nur den Empfänger oder die interessierten Parteien benachrichtigen möchten, die an der Aktion beteiligt sind, kann Ihr Bot eine persönliche Chat-Nachricht an den Benutzer senden. Sie sollten zunächst überprüfen, ob eine persönliche Unterhaltung zwischen Ihrem Bot und dem Benutzer besteht. Wenn nicht, können Sie anrufen
CreateConversation, um den persönlichen Chat zu initiieren.
Verwenden Sie Ereignisbenachrichtigungen in beiden Fällen mit Bedacht und spammen Sie den Benutzer niemals mit unnötigen Updates zu.