Deep-Link zum Teams-Chat

Sie können einen Deep-Link zu einem Teams-Chat erstellen, z. B. um einen neuen Chat zu starten, zu einer Kanalunterhaltung zu navigieren und zu einer Datei in einem Kanal zu gelangen.

In diesem Artikel erfahren Sie, wie Sie einen Deep Link erstellen:

Sie können mit der Microsoft Teams JavaScript-Clientbibliothek (TeamsJS) zu privaten Chats zwischen Benutzern navigieren oder diese erstellen, indem Sie die Gruppe der Teilnehmer angeben. Wenn kein Chat mit den angegebenen Teilnehmern vorhanden ist, wird der Benutzer zu einem leeren neuen Chat geleitet.

Wenn ein Benutzer einen neuen Chat mithilfe eines Deep-Links erstellt, erstellt Teams den neuen Chat im Entwurfszustand, bis der Benutzer die erste Nachricht sendet. Sie können auch den Namen des Chats angeben, sofern er noch nicht vorhanden ist, zusammen mit Text, der in das Verfassenfeld des Benutzers eingefügt werden soll. Sie können sich dies als Verknüpfung für den Benutzer vorstellen, der die manuelle Aktion zum Navigieren oder Erstellen des Chats und dann das Eingeben der Nachricht durchnimmt.

Wenn Sie als Anwendungsbeispiel Microsoft 365-Benutzerprofilinformationen von Ihrem Bot als Karte abrufen, kann dieser Deep-Link es dem App-Benutzer ermöglichen, einfach mit dieser Person zu chatten.

Sie können DeepLinks konfigurieren, um einen neuen Chat auf eine der beiden folgenden Arten zu starten:

Obwohl die Verwendung der typisierten APIs empfohlen wird, können Sie alternativ das folgende Format für einen manuell erstellten Deep Link verwenden, den Sie in einem Bot, Connector oder einer Nachrichtenerweiterung Karte verwenden können. Um diesen Deeplink mit Ihrem Bot zu verwenden, geben Sie diesen als URL-Ziel auf der Schaltfläche Ihrer Karte an, oder tippen Sie über den Aktionstyp openUrl auf die Aktion.

https://teams.microsoft.com/l/chat/0/0?tenantId=<tenantId>&users=<user1>,<user2>,...&topicName=<chat name>&message=<precanned text>

Die Abfrageparameter sind:

  • users: Eine durch Trennzeichen getrennte Liste von Benutzer-IDs, die die Teilnehmer des Chats darstellen. Der Benutzer, der die Aktion ausführt, ist immer als Teilnehmer enthalten. Derzeit unterstützt der Parameter Benutzer-ID die Microsoft Azure Active Directory (Azure AD), UserPrincipalNamez. B. nur eine E-Mail-Adresse.
  • topicName: Ein optionaler Parameter für den Anzeigenamen des Chats, wenn ein Chat drei oder mehr Benutzer hat. Wenn dieses Feld nicht angegeben wird, basiert der Bildschirmname des Chats auf den Namen der Teilnehmer.
  • message: Ein optionales Feld für den Nachrichtentext, den Sie in das Verfassenfeld des aktuellen App-Benutzers einfügen möchten, während sich der Chat im Entwurfszustand befindet.

Beispiel: https://teams.microsoft.com/l/chat/0/0?users=joe@contoso.com,bob@contoso.com&topicName=Prep%20For%20Meeting%20Tomorrow&message=Hi%20folks%2C%20kicking%20off%20a%20chat%20about%20our%20meeting%20tomorrow

Im folgenden Beispiel wird veranschaulicht, wie eine Chatnachricht für eine Gruppe von Teilnehmern mit einer ersten Nachricht geöffnet wird. Sie können den Deep-Link auf einen vorhandenen oder einen neuen Chat ausrichten. Wenn bereits ein Chat vorhanden ist, wird der Deep-Link in diesem Chat geöffnet.

if(chat.isSupported()) {
    const chatPromise = chat.openGroupChat({ users: ["joe@contoso.com","bob@contoso.com"], topic: "Prep For Meeting Tomorrow", message: "Hi folks kicking off chat about our meeting tomorrow"});
    chatPromise.
      then((result) => {/*Successful operation*/}).
      catch((error) => {/*Unsuccessful operation*/});
}
else { /* handle case where capability isn't supported */ }

Sie können das folgende Deep Link-Format verwenden, um zu einer bestimmten Unterhaltung innerhalb des Kanalthreads zu wechseln:

https://teams.microsoft.com/l/message/<channelId>/<parentMessageId>?tenantId=<tenantId>&groupId=<groupId>&parentMessageId=<parentMessageId>&teamName=<teamName>&channelName=<channelName>&createdTime=<createdTime>

Die Abfrageparameter sind:

  • channelId: Kanal-ID der Unterhaltung. Beispiel: 19:3997a8734ee5432bb9cdedb7c432ae7d@thread.tacv2.
  • tenantId: Mandanten-ID, z 0d9b645f-597b-41f0-a2a3-ef103fbd91bb. B. .
  • groupId: Gruppen-ID der Datei. Beispiel: 3606f714-ec2e-41b3-9ad1-6afb331bd35d.
  • parentMessageId: ID der übergeordneten Nachricht der Konversation.
  • teamName: Name des Teams.
  • channelName: Name des Kanals des Teams.

Hinweis

Sie können channelId und groupId in der URL dieses Kanals sehen.

Beispiel: https://teams.microsoft.com/l/message/<channelId>/1648741500652?tenantId=<tenantId>&groupId=<groupId>&parentMessageId=1648741500652&teamName=<teamName>&channelName=<channelName>&createdTime=1648741500652

Verwenden Sie das folgende Deep-Link-Format, um einen Benutzer zu einer Nachricht in einem persönlichen Oder Gruppenchat in Teams zu navigieren:

https://teams.microsoft.com/l/message/{chatId}/{messageId}?tenantId=<tenantId>?context={"contextType":"chat"}

Beispiel: https://teams.microsoft.com/l/message/19:253f5895-9a62-4362-8d38-43f0205c702c_f1b94dcf-0aa3-4989-bcdf-ef4a5ed00f86@unq.gbl.spaces/1563480968434?context=%7B%22contextType%22:%22chat%22%7D

Die Abfrageparameter sind:

  • chatId: ChatID der Unterhaltung. Das unterstützte Format für chatId ist 19:xxx. Beispiel: 19:253f5895-9a62-4362-8d38-43f0205c702c_f1b94dcf-0aa3-4989-bcdf-ef4a5ed00f86@unq.gbl.spaces. Apps können eine Chat-ID über den App-Kontext in Teams, eingehende Nutzdaten für den Bot oder über Microsoft Graph-APIs lesen.

    Hinweis

    Bei Einzelchats mit dem Bot enthält die eingehende Nutzlast für den Bot die Konversations-ID im Format a:xxx.

  • messageId: Eindeutige Nachrichten-ID jeder Nachricht in einem Chat. Wenn ein Bot eine Nachricht im Chat postet, wird zurückgegeben messageId . Sie können die messageId auch über Microsoft Graph-APIs abrufen. Beispiel: 1563480968434.
  • context: Geben Sie contextType als Chat an.

Beispiel: http://teams.microsoft.com/l/message/19:253f5895-9a62-4362-8d38-43f0205c702c_f1b94dcf-0aa3-4989-bcdf-ef4a5ed00f86@unq.gbl.spaces/1563480968434?context=%7B%22contextType%22:%22chat%22%7D

Das folgende Deep Link-Format kann in einem Bot, Connector oder einer Nachrichtenerweiterung Karte verwendet werden, um einen Deep Link für die Verbindung mit einer Datei in einem Kanal zu konfigurieren:

https://teams.microsoft.com/l/file/<fileId>?tenantId=<tenantId>&fileType=<fileType>&objectURL=<objectURL>&baseUrl=<baseURL>&serviceName=<Name>&threadId=<threadId>&groupId=<groupId>

Die Abfrageparameter sind:

  • fileId: Eindeutige Datei-ID aus Sharepoint Online, auch bekannt als sourcedoc. Beispiel: 1FA202A5-3762-4F10-B550-C04F81F6ACBD.
  • tenantId: Mandanten-ID, z 0d9b645f-597b-41f0-a2a3-ef103fbd91bb. B. .
  • fileType: Unterstützter Dateityp, z. B. docx, pptx, xlsx und pdf.
  • objectUrl: Objekt-URL der Datei. Das Format ist https://{tenantName}.sharepoint.com/sites/{TeamName}/SharedDocuments/{ChannelName}/FileName.ext. Beispiel: https://microsoft.sharepoint.com/teams/(filepath).
  • baseUrl: Basis-URL der Datei. Das Format ist https://{tenantName}.sharepoint.com/sites/{TeamName}. Beispiel: https://microsoft.sharepoint.com/teams.
  • serviceName: Name des Diensts, App-ID. Beispiel: teams.
  • threadId: Die threadID ist die Team-ID des Teams, in dem die Datei gespeichert ist. Sie ist optional und kann nicht für Dateien festgelegt werden, die im OneDrive-Ordner eines Benutzers gespeichert sind. threadId – 19:f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype.
  • groupId: Gruppen-ID der Datei. Beispiel: ae063b79-5315-4ddb-ba70-27328ba6c31e.

Hinweis

Sie können threadId und groupId in der URL dieses Kanals sehen.

Das folgende Beispielformat veranschaulicht den Deep-Link zu Dateien:

https://teams.microsoft.com/l/file/5E0154FC-F2B4-4DA5-8CDA-F096E72C0A80?tenantId=0d9b645f-597b-41f0-a2a3-ef103fbd91bb&fileType=pptx&objectUrl=https%3A%2F%2Fmicrosoft.sharepoint.com%2Fteams%2FActionPlatform%2FShared%20Documents%2FFC7-%20Bot%20and%20Action%20Infra%2FKaizala%20Actions%20in%20Adaptive%20Cards%20-%20Deck.pptx&baseUrl=https%3A%2F%2Fmicrosoft.sharepoint.com%2Fteams%2FActionPlatform&serviceName=teams&threadId=19:f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype&groupId=ae063b79-5315-4ddb-ba70-27328ba6c31e

Serialisierung dieses Objekts:

{
fileId: "5E0154FC-F2B4-4DA5-8CDA-F096E72C0A80",
tenantId: "0d9b645f-597b-41f0-a2a3-ef103fbd91bb",
filetype: = "pptx",
objectUrl: "https://microsoft.sharepoint.com/teams/ActionPlatform/Shared Documents/FC7- Bot and Action Infra/Kaizala Actions in Adaptive Cards - Deck.pptx",
baseUrl: "https://microsoft.sharepoint.com/teams/ActionPlatform",
serviceName: "teams",
threadId: = "19:f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype",
groupId: "ae063b79-5315-4ddb-ba70-27328ba6c31e"
}

Codebeispiel

Beispielname Beschreibung .NET Node.js
Deep Link, der die Subentity-ID verwendet In diesem Beispiel wird gezeigt, wie Sie deep-link vom Botchat zur Registerkarte verwenden, die untergeordnete ID verwendet. Außerdem werden Deeplinks für die Navigation zur App, zum Chat, zum Öffnen des Profildialogs und zum Öffnen des Planungsdialogfelds angezeigt. View Anzeigen