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:
- So starten Sie einen neuen Chat
- So öffnen Sie ein Besprechungsplanungsdialogfeld
- So starten Sie einen Audio-Videoanruf
- So geben Sie Inhalte frei, die in Besprechungen bereitgestellt werden sollen
- Zum Besprechungsseitenbereich
- So nehmen Sie an einer Besprechung teil
- Aufrufen der Bühnenansicht über einen Deep-Link
Deep-Link zum Starten eines neuen Chats
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.
Deep-Link zum Öffnen eines Besprechungsplanungsdialogfelds
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:
- Manuelles Konfigurieren von Deep Link zum Öffnen eines Besprechungsplanungsdialogfelds
- Konfigurieren von Deep Link mithilfe der TeamsJS-Bibliothek zum Öffnen eines Besprechungsplanungsdialogfelds
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.
Manuelles Konfigurieren von Deep Link zum Öffnen eines Besprechungsplanungsdialogfelds
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 ADUserPrincipalName
, 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
Konfigurieren von Deep Link mithilfe der TeamsJS-Bibliothek zum Öffnen eines Besprechungsplanungsdialogfelds
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.
Deep-Link zum Starten eines Audio-Videoanrufs mit Benutzern
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:
- Manuelles Konfigurieren von Deep Link zum Starten von Audio-/Videoanrufen mit Benutzern
- Konfigurieren von Deep Link mithilfe der TeamsJS-Bibliothek zum Starten von Audio-/Videoanrufen mit Benutzern
Manuelles Konfigurieren von Deep Link zum Starten von Audio-/Videoanrufen mit Benutzern
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 ADUserPrincipalName
, 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.
Konfigurieren von Deep Link mithilfe der TeamsJS-Bibliothek zum Starten von Audio-/Videoanrufen mit Benutzern
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 */ }
Generieren eines Deep-Links zum Freigeben von Inhalten, die in Besprechungen bereitgestellt werden sollen
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.
Deep-Link zum Besprechungsseitenbereich
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.
Deep-Link zum Teilnehmen an einer Besprechung
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.
Aufrufen der Bühnenansicht über einen Deep-Link
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 |