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.
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 Ihrer Karte an, oder tippen Sie über den Aktionstyp auf Aktion openUrl
. Apps können auch die Teams Java Script-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
Anwendungen können ein Besprechungsplanungsdialogfeld öffnen und Informationen wie Besprechungstitel und Teilnehmer bereitstellen. 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 für einen Deep-Link, den Sie in einem Bot, Connector oder einer Nachrichtenerweiterungskarte verwenden können:
https://teams.microsoft.com/l/meeting/new?subject=<meeting subject>&startTime=<date>&endTime=<date>&content=<content>&attendees=<user1>,<user2>,<user3>,...
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
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
: Die optionale durch Kommas getrennte Liste der Benutzer-IDs, auf der die Teilnehmer der Besprechung angegeben sind. Der Benutzer, der die Aktion ausführt, ist der Besprechungsorganisator. Derzeit unterstützt das Feld "Benutzer-ID" nur azure AD UserPrincipalName, in der Regel eine E-Mail-Adresse.startTime
: Die optionale Startzeit des Ereignisses. Die Startzeit sollte im langen ISO 8601-Format vorliegen, z. B. 2018-03-12T23:55:25+02:00.endTime
: Die optionale Endzeit des Ereignisses, ebenfalls im ISO 8601-Format.subject
: Ein optionales Feld für den Betreff der Besprechung.content
: Ein optionales Feld für das Besprechungsdetails-Feld.
Hinweis
Derzeit wird die Angabe des Speicherorts nicht unterstützt. Sie müssen den UTC-Offset angeben, d. h. Zeitzonen, wenn Sie Ihre 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 Ihrer Karte oder als Tippaktion über den openUrl
Aktionstyp angeben.
Anwendungen können auch die TeamsJS-Bibliothek 2.0 verwenden, um das Besprechungsplanungsdialogfeld zu öffnen, ohne den Link manuell vorbereiten zu müssen. Sehen Sie sich das folgende Codebeispiel an, das eine Notiz enthält:
// 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 */ }
Hinweis
Um das Planungsdialogfeld in Teams zu öffnen, müssen die Entwickler weiterhin die ursprüngliche Deep-Link-URL-basierte Methode verwenden, da Teams die Kalenderfunktion noch nicht unterstützt.
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
Anwendungen können einen Deep Link für Benutzer vorbereiten, um einen Einzel- oder Gruppenaudio- oder Videoanruf zu starten. Sie können nur Audio- oder Audio-Videoanrufe an einen einzelnen Benutzer oder eine Gruppe von Benutzern aufrufen, indem Sie den Anruftyp und die Teilnehmer angeben. Bevor der Anruf erfolgt, fordert der Microsoft Teams-Client eine Bestätigung für den Anruf an. 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 Client um Bestätigung und aktiviert das Video des Anrufers für den Anruf. 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.
Obwohl die Verwendung der typisierten APIs von TeamsJS empfohlen wird, können Sie auch einen manuell erstellten Deep-Link verwenden, um einen Anruf 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
: Die durch Kommas getrennte Liste der Benutzer-IDs, die die Teilnehmer des Anrufs darstellen. Derzeit unterstützt das Feld "Benutzer-ID" azure AD UserPrincipalName, in der Regel eine E-Mail-Adresse, oder in einem PSTN-Anruf unterstützt es eine PSTN-Mri 4:<Phonenumber>.withVideo
: Dies ist 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.Source
: Dies ist ein optionaler Parameter, der über die Deep-Link-Quelle informiert.
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 auch einen Deep-Link generieren, um die App zu teilen, um eine Besprechung zu starten oder zu starten.
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.
Hinweis
- Derzeit ist das Generieren eines Deep-Links zum Freigeben von Inhalten in Besprechungen nur in der öffentlichen Entwicklervorschau verfügbar.
- Deep-Link zum Freigeben von Inhalten für die Besprechung wird nur im Teams-Desktopclient unterstützt.
Deep-Link zum Teilnehmen an einer Besprechung
Die Anwendung kann über Graph-APIs an einer Besprechungs-URL teilnehmen. Über diesen Deep-Link wird die Benutzeroberfläche angezeigt, auf der der Benutzer an dieser Besprechung teilnehmen kann.