Deep-Link zu einem Workflow in Teams

Sie können einen Deep-Link erstellen, um eine bestimmte Aufgabe in Teams auszuführen, z. B. um einen neuen Chat zu erstellen, ein Planungsdialogfeld zu öffnen und zum Audio-Video-Anruf zu navigieren.

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

Anwendungen können einen neuen Chat mit einer Liste von Benutzern starten und zusätzliche Informationen wie Chatname und Nachrichtenentwurf im folgenden Format bereitstellen:

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

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

Die Abfrageparameter sind:

  • users: Die durch Kommas getrennte Liste der Benutzer-IDs, auf der die Chat-Teilnehmer angegeben sind. Der Benutzer, der die Aktion ausführt, ist immer als Teilnehmer enthalten. Derzeit unterstützt das Feld „Benutzer-ID“ das Microsoft Azure Active Directory (Azure AD) UserPrincipalName, wie z. B. nur eine E-Mail-Adresse.
  • topicName: Ein optionales Feld 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 Feld zum Verfassen des aktuellen Benutzers einfügen möchten, während sich der Chat im Entwurfszustand befindet.

Um diesen Deep-Link mit Ihrem Bot zu verwenden, geben Sie den Deep-Link als URL-Ziel in der Schaltfläche Ihres Karte an, oder tippen Sie über den Aktionstyp auf AktionopenUrl. Apps können auch die Teams JavaScript-Bibliothek 2.0 verwenden, um dies zu erstellen, ohne den Deep Link manuell vorbereiten zu müssen. Im Folgenden finden Sie ein Beispiel für die Verwendung der Microsoft Teams JavaScript-Clientbibliothek (TeamsJS):

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 */ }

Hinweis

Wenn bereits ein Chat vorhanden ist, wird der Deep-Link in diesem Chat geöffnet.

Sie können deep link in Ihren Teams-Apps erstellen, um ein Besprechungsplanungsdialogfeld zu öffnen und Informationen wie Besprechungstitel und Teilnehmer bereitzustellen. Verwenden Sie dazu eine der folgenden Methoden:

Es wird zwar empfohlen, die typisierten APIs von TeamsJS zu verwenden, Deep-Links zu dem in Microsoft Teams integrierten Planungsdialogfeld können aber auch manuell erstellt werden.

Verwenden Sie das folgende Format, um einen Deep Link zu konfigurieren, den Sie in einem Bot, Connector oder einer Nachrichtenerweiterung Karte verwenden können:

https://teams.microsoft.com/l/meeting/new?subject=<meeting subject>&startTime=<date>&endTime=<date>&content=<content>&attendees=<user1>,<user2>,<user3>,...

Hinweis

Die Suchparameter unterstützen kein + Signal anstelle von Leerzeichen (``). Stellen Sie sicher, dass der URI-Codierungscode für Leerzeichen zurückgibt %20 . Ist z. B ?subject=test%20subject . gut, aber ?subject=test+subject schlecht.

Die Abfrageparameter sind:

  • attendees: Eine optionale durch Trennzeichen getrennte Liste von Benutzer-IDs, die die Teilnehmer der Besprechung darstellen. Der Benutzer, der die Aktion ausführt, ist der Besprechungsorganisator. Das Feld "Benutzer-ID" unterstützt nur Azure AD UserPrincipalName, in der Regel eine E-Mail-Adresse.
  • startTime: Der optionale Parameter für die Startzeit des Ereignisses. Die Startzeit sollte im langen ISO 8601-Format vorliegen, z. B. 2018-03-12T23:55:25+02:00.
  • endTime: Ein optionaler Parameter für die Endzeit des Ereignisses, ebenfalls im ISO 8601-Format.
  • subject: Ein optionaler Parameter für den Besprechungsgegenstand.
  • content: Ein optionaler Parameter für das Feld "Besprechungsdetails".

Hinweis

Sie können den Standort nicht angeben, da er nicht unterstützt wird. Sie müssen den UTC-Offset angeben, der Zeitzonen enthält, wenn Sie die Start- und Endzeiten generieren.

Um diesen Deep Link mit Ihrem Bot zu verwenden, können Sie den Deep-Link als URL-Ziel in der Schaltfläche Ihres Karte oder als Tippaktion über den openUrl Aktionstyp angeben.

Beispiel: https://teams.microsoft.com/l/meeting/new?subject=test%20subject&attendees=joe@contoso.com,bob@contoso.com&startTime=10%2F24%2F2018%2010%3A30%3A00&endTime=10%2F24%2F2018%2010%3A30%3A00&content=​​​​​​​test%3Acontent​​​​​​​​​​​​​​

Sie können auch die TeamsJS-Bibliothek 2.0 in Ihrer Teams-App verwenden, um das Besprechungsplanungsdialogfeld zu öffnen, ohne den Link manuell vorbereiten zu müssen. Um das Planungsdialogfeld in Teams zu öffnen, müssen Sie weiterhin die ursprüngliche Deep-Link-URL-basierte Methode verwenden, da Teams die Kalenderfunktion noch nicht unterstützt:

// Open a scheduling dialog from your tab
if(calendar.isSupported()) {
   const calendarPromise = calendar.composeMeeting({
      attendees: ["joe@contoso.com", "bob@contoso.com"],
      content: "test content",
      endTime: "2018-10-24T10:30:00-07:00",
      startTime: "2018-10-24T10:00:00-07:00",
      subject: "test subject"});
   calendarPromise.
      then((result) => {/*Successful operation*/}).
      catch((error) => {/*Unsuccessful operation*/});
}
else { /* handle case where capability isn't supported */ }

Weitere Informationen zum Arbeiten mit dem Kalender finden Sie in der API-Referenzdokumentation unter calendar-Namespace.

Sie können Ihre Teams-Apps so konfigurieren, dass sie einen Deep Link für Benutzer vorbereiten, um einen Einzelanruf, einen Gruppenanruf oder einen Videoanruf zu starten. Sie können nur Audio- oder Audio-Videoanrufe für einen einzelnen Benutzer oder eine Gruppe von Benutzern aufrufen, indem Sie den Anruftyp und die Teilnehmer angeben. Vor dem Tätigen des Anrufs fordert der Teams-Client zur Bestätigung des Anrufs auf. Wenn ein Gruppenanruf erfolgt, können Sie eine Reihe von VoIP-Benutzern und eine Gruppe von PSTN-Benutzern mit demselben Deep Link-Aufruf anrufen.

In einem Videoanruf bittet der Teams-Client um Bestätigung, bevor das Video des Anrufers für den Anruf aktiviert wird. Der Empfänger des Anrufs kann über das Teams Anrufbenachrichtigungsfenster nur über Audio oder Video antworten.

Hinweis

Diese Methode kann nicht zum Aufrufen einer Besprechung verwendet werden.

Sie können DeepLinks auf eine der folgenden beiden Arten konfigurieren:

Obwohl die Verwendung der typisierten APIs der TeamsJS-Bibliothek empfohlen wird, können Sie auch einen manuell konfigurierten Deep Link verwenden, um einen Aufruf zu starten. Weitere Informationen finden Sie in den folgenden Formaten:

Deep-Link Format Beispiel
Tätigen eines Audioanrufs https://teams.microsoft.com/l/call/0/0?users=<user1>,<user2> https://teams.microsoft.com/l/call/0/0?users=joe@contoso.com
Tätigen eines Audio- und Videoanrufs https://teams.microsoft.com/l/call/0/0?users=<user1>,<user2>&withVideo=true https://teams.microsoft.com/l/call/0/0?users=joe@contoso.com&withVideo=true
Tätigen eines Audio- und Videoanrufs mit einer optionalen Parameterquelle https://teams.microsoft.com/l/call/0/0?users=<user1>,<user2>&withVideo=true&source=demoApp https://teams.microsoft.com/l/call/0/0?users=joe@contoso.com&withVideo=true&source=demoApp
Tätigen eines Audio- und Videoanrufs an eine Kombination aus VoIP- und PSTN-Benutzern https://teams.microsoft.com/l/call/0/0?users=<user1>,4:<phonenumber> https://teams.microsoft.com/l/call/0/0?users=joe@contoso.com,4:9876543210

Nachfolgend sind die Abfrageparameter aufgeführt:

  • users: Eine durch Trennzeichen getrennte Liste von Benutzer-IDs, die die Teilnehmer des Anrufs darstellen. Das Feld "Benutzer-ID" unterstützt Azure AD UserPrincipalName, in der Regel eine E-Mail-Adresse, oder in einem PSTN-Anruf unterstützt es eine pstn mri 4:<phonenumber>.
  • withVideo: Ein optionaler Parameter, den Sie für einen Videoanruf verwenden können. Durch Festlegen dieses Parameters wird nur die Kamera des Aufrufers aktiviert. Der Empfänger des Anrufs hat die Wahl, über einen Audio- oder Audio- und Videoanruf über das Teams-Anrufbenachrichtigungsfenster zu antworten.

Anwendungen können auch die TeamsJS-Bibliothek 2.0 verwenden, um Anrufe zu starten, ohne diese DeepLinks manuell vorbereiten zu müssen. Der folgende Code veranschaulicht die Verwendung der TeamsJS-Bibliothek zum Starten eines Aufrufs:

if(call.isSupported()) {
    const callPromise = call.startCall({ targets: ["joe@contoso.com","bob@contoso.com","4:9876543210"], requestedModalities: [call.CallModalities.Audio], source: "demoApp"});
    callPromise.
      then((result) => {/*Successful operation*/}).
      catch((error) => {/*Unsuccessful operation*/});
}
else { /* handle case where capability isn't supported */ }

Sie können einen Deep-Link generieren, um die App zu teilen und eine Besprechung zu starten oder daran teilzunehmen.

Deep-Links zum Freigeben von Inhalten für die Staging finden Sie unter Deep-Link zum Freigeben von Inhalten für die Bühne in Besprechungen.

Sie können einen Deep-Link zum Besprechungsseitenbereich in einer Besprechung generieren. Verwenden Sie das folgende Format für einen Deep-Link zum Seitenbereich der Besprechung:

https://teams.microsoft.com/l/entity/<appId>/<entityId>?webUrl=<entityWebUrl>&label=<entityLabel>&context=<context>.

Beispiel:

https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123/456&label=Task 456&context={"chatId": "17:b42de192376346a7906a7dd5cb84b673@thread.v2","contextType":"chat"}

Standardmäßig wird ein Deep-Link in einem Besprechungsseitenbereich geöffnet. Um einen Deep Link direkt in einer App anstelle des Besprechungsseitenbereichs zu öffnen, fügen Sie im Deep Link-Format hinzu openInMeeting=false :

https://teams.microsoft.com/l/entity/<appId>/<entityId>?webUrl=<entityWebUrl>&label=<entityLabel>&context=<context>&openInMeeting=false

Weitere Informationen finden Sie unter Deep-Link zu einer Registerkarte.

Deep Link wird in den folgenden Szenarien nicht im Besprechungsseitenbereich geöffnet:

  • Wenn ihre keine aktive Besprechung ist.
  • Wenn für die App kein sidePanel Kontext im App-Manifest deklariert ist.
  • Wenn openInMeeting=false im Deep-Link festgelegt ist.
  • Wenn deep link außerhalb des Besprechungsfensters oder der Komponente ausgewählt ist.
  • Wenn deep link beispielsweise nicht mit der aktuellen Besprechung übereinstimmt, wird deep link aus einer anderen Besprechung erstellt.

Die Teams-App kann die URL für die Teilnahme an einer Besprechungs-URL über Graph-APIs lesen. Über diesen Deep-Link wird die Benutzeroberfläche für den Benutzer für die Teilnahme an der Besprechung angezeigt. Weitere Informationen finden Sie unter Abrufen onlineMeeting und Abrufen von Besprechungsdetails.

Um die Bühnenansicht über einen Deep-Link von Ihrer Registerkarte aufzurufen, müssen Sie die Deep-Link-URL in der app.openLink(url)-API umschließen. Der Deep-Link kann auch durch eine OpenURL-Aktion auf der Karte übergeben werden. Weitere Informationen finden Sie unter Phasenansicht.

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 Deep-Links angezeigt, um zur App zu navigieren, zum Chat zu navigieren, das Profildialogfeld zu öffnen und das Planungsdialogfeld zu öffnen. View View