Verwalten von Aufrufen für Teams Benutzer mit Communication Services Aufrufen des SDK
Lernen Sie, wie Sie Anrufe mit den Azure Communication Services SDKS verwalten können. Wir erfahren, wie Sie Anrufe tätigen sowie ihre Teilnehmer und Eigenschaften verwalten.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine bereitgestellte Communication Services-Ressource. Erstellen Sie eine Communication Services-Ressource.
- Ein
User Access Token
, um den Anrufclient zu aktivieren. Weitere Informationen zum Abrufen einesUser Access Token
- Optional: Vervollständigen Sie den Schnellstart für die ersten Schritte zum Hinzufügen von Videogesprächen zu Ihrer Anwendung
Das SDK installieren
Verwenden Sie den Befehl npm install
, um das Azure Communication Services Calling SDK sowie allgemeine SDKs für JavaScript zu installieren.
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Initialisieren erforderlicher Objekte
Erstellen Sie eine CallClient
-Instanz, um den Anrufstapel zu initiieren. Sie können die Protokollierung der SDK-Aufrufe mit der AzureLogger
-Instanz und der setLogLevel
-Methode konfigurieren. Zugriff auf den deviceManager
für das Betriebssystem erhalten Sie über die Methode getDeviceManager
.
Verwenden Sie dann die Methode createTeamsCallAgent
, um asynchron eine TeamsCallAgent
-Instanz zu erstellen, die eingehende und ausgehende Anrufe für einen Teams-Benutzer verwaltet. Die Methode akzeptiert CommunicationTokenCredential
als Argument, das Zugriffstoken für Teams-Benutzer darstellt.
const { CallClient } = require('@azure/communication-calling');
const { AzureCommunicationTokenCredential} = require('@azure/communication-common');
const { AzureLogger, setLogLevel } = require("@azure/logger");
// Set the logger's log level
setLogLevel('verbose');
// Redirect log output to wherever desired. To console, file, buffer, REST API, etc...
AzureLogger.log = (...args) => {
console.log(...args); // Redirect log output to console
};
const userToken = '<USER_TOKEN>';
callClient = new CallClient();
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const teamsCallAgent = await callClient.createTeamsCallAgent(tokenCredential);
const deviceManager = await callClient.getDeviceManager();
Tätigen eines Anrufs
Starten Sie einen synchronen Eins-zu-Eins-Gruppenanruf mit der startCall
-API von teamsCallAgent
. Sie können MicrosoftTeamsUserIdentifier
oder PhoneNumberIdentifier
als Parameter übergeben, um das Ziel des Anrufs zu definieren. Die Methode gibt die TeamsCall
-Instanz zurück, die Ihnen das Abonnieren von Anrufereignissen ermöglicht.
Hinweis
Das Starten eines Gruppenanrufs mit teamsCallAgent
erfordert die threadId
des Chats beim Aufrufen der startCall
-Methode. Die erstellte TeamsCall
-Instanz weist die Eigenschaft threadId
auf, die diesen Thread erfasst. Das Communication Services-Anruf-SDK erhält keine Synchronizität der Teilnehmer in der Chat- und der Anrufliste aufrecht. Microsoft fordert Entwickler auf, die Listen im Sinne einer optimalen Benutzererfahrung synchron zu halten. Lernen Sie, wie man Chat-Threads verwaltet.
Starten eines Eins-zu-Eins-VoIP-Anrufs an Teams-Benutzer:
const userCallee = { microsoftTeamsUserId: '<MICROSOFT_TEAMS_USER_ID>' };
const oneToOneCall = teamsCallAgent.startCall(userCallee);
Starten eines Eins-zu-Eins-Telefonanruf an eine E.164-Telefonnummer:
const phoneCallee = { phoneNumber: '<PHONE_NUMBER_E164_FORMAT>' }
const oneToOneCall = teamsCallAgent.startCall(phoneCallee );
Starten eines Gruppenanrufs an Teams-Benutzer mit VoIP und Telefonnummer:
const userCallee = { microsoftTeamsUserId: '<MICROSOFT_TEAMS_USER_ID>' }
const phoneCallee = { phoneNumber: '<PHONE_NUMBER_E164_FORMAT>'};
const groupCall = teamsCallAgent.startCall([userCallee, phoneCallee], { threadId: '<THREAD_ID>' });
Join a call
An einer Teams-Besprechung teilnehmen
Sie können Teams-Besprechungen mit der Methode join
der teamsCallAgent
-Instanz beitreten. Teams-Benutzer können an einer Teams-Besprechung teilnehmen, indem sie einen TeamsMeetingLinkLocator
, TeamsMeetingCoordinatesLocator
oder TeamsMeetingIdLocator
angeben.
Teilnehmen an einer Teams-Besprechung mit Besprechungs-URL:
const meetingCall = teamsCallAgent.join({ meetingLink: '<MEETING_LINK>' });
Teilnehmen an Teams-Besprechungen mit einer Kombination aus Thread-ID, Organisator-ID, Mandanten-ID und Nachrichten-ID:
const meetingCall = teamsCallAgent.join({ threadId: '<THREAD_ID>', organizerId: '<ORGANIZER_ID>', tenantId: '<TENANT_ID>', messageId: '<MESSAGE_ID>' });
Teilnehmen an einer Teams-Besprechung mit Besprechungscode und Passcode:
const meetingCall = teamsCallAgent.join({ meetingId: '<MEETING_CODE>', passcode: '<PASSCODE>'});
Teilnehmen an einer Teams-Besprechung mit Besprechungs-ID und Passcode:
Entwickler können durch mehrere Möglichkeiten an Teams-Besprechungen teilnehmen. Eine davon ist die Besprechungs-ID und Passcode, mit der Personen an der Teams-Besprechung teilnehmen können, zu der sie von einem Gerät oder einer Anwendung eingeladen werden. Sie müssen immer sowohl die Besprechungs-ID als auch den Passcode angeben, um an der Besprechung teilzunehmen. Bei dem Passcode müssen Sie die Groß-/Kleinschreibung beachten.
Das Format der Besprechungs-ID und des Passcode lautet:
- Besprechungs-ID: 12 Ziffern.
- Passcode: 6 Zeichen
Wie oft müssen Sie die Besprechungs-ID und den Passcode aktualisieren?
- Die Besprechungs-ID und der Passcode werden nicht geändert, nachdem sie erstellt wurden. Entwickler müssen keine dieser Änderungen aktualisieren.
- Der Besprechungsorganisator von Teams kann die Besprechungs-ID und den Passcode nicht neu generieren.
Macht es einen Unterschied bei einer Teams-Besprechung, wenn der Benutzer über URL oder die Besprechungs-ID und den Passcode teilnimmt?
- Nein Es macht keinen Unterschied, wenn Benutzer über die Teams-Besprechungs-URL oder die Besprechungs-ID und den Passcode an einer Teams-Besprechung teilnehmen.
Wie sollten Entwickler den Passcode speichern und verwalten?
- Die Besprechungs-ID und der Passcode sind Koordinaten für die Teilnahme an der Besprechung. Entwickler sollten diese als geheim behandeln, sie verschlüsseln und nur mit Zugriffssteuerung speichern.
- Wenn die Koordinaten verfügbar gemacht werden, kann jeder an der Besprechung teilnehmen und so die Erfahrung für alle Teilnehmer der Besprechung beeinträchtigt werden.
Wie erhalte ich die Besprechungs-ID und den Passcode?
- Graph-API: Verwenden Sie die Graph-API, um Informationen zur
onlineMeeting
-Ressource abzurufen und das Objekt in der EigenschaftjoinMeetingIdSettings
zu überprüfen. - Teams: Wechseln Sie in Ihrer Teams-Anwendung zur
Calendar
-App und öffnen Sie Details zu einer Besprechung. Onlinebesprechungen haben die Besprechungs-ID und den Passcode in der Definition der Besprechung. - Outlook: Sie finden die Besprechungs-ID und den Passcode in den Kalenderereignissen oder in E-Mail-Besprechungseinladungen.
- Entwickler können die Besprechungs-ID und den Passcode nicht über das aufrufende SDK abrufen oder aus Verbose-Protokollen abrufen.
- Graph-API: Verwenden Sie die Graph-API, um Informationen zur
Wie kann ich überprüfen, ob die Besprechungs-ID und der Passcode korrekt sind?
- Die Besprechungs-ID und der Passcode können wie folgt überprüft werden: https://www.microsoft.com/en-us/microsoft-teams/join-a-meeting
Empfangen eines eingehenden Teams-Anrufs
Sie können das incomingCall
-Ereignis der teamsCallAgent
-Instanz abonnieren, um eingehende Anrufe für den Teams-Benutzer zu registrieren. Das Ereignis weist eine Eigenschaft teamsIncomingCall
mit TeamsIncomingCall
-Instanz auf, die Ihnen das accept
oder reject
des eingehenden Anrufs ermöglicht.
const incomingCallHandler = async (args: { teamsIncomingCall: TeamsIncomingCall }) => {
const incomingCall = args.teamsIncomingCall;
// Get Teams incoming call ID
const incomingCallId = incomingCall.id;
// Get information about this Call. This API is provided as a preview for developers
// and may change based on feedback that we receive. Do not use this API in a production environment.
// To use this API please use 'beta' release of Azure Communication Services Calling Web SDK
const callInfo = incomingCall.info;
// Get information about caller
const callerInfo = incomingCall.callerInfo
// Accept the call
const teamsCall = await incomingCall.accept();
// Reject the call
incomingCall.reject();
// Subscribe to callEnded event and get the call end reason
incomingCall.on('callEnded', args => {
console.log(args.callEndReason);
});
// callEndReason is also a property of IncomingCall
var callEndReason = incomingCall.callEndReason;
};
teamsCallAgent.on('incomingCall', incomingCallHandler);
Aktivieren und Deaktivieren von Video
Sie können Ihre lokale Videostreamsammlung aus der Eigenschaft localVideoStreams
in der TeamsCall
-Instanz abrufen. Wenn die Sammlung aktiviert ist, enthält sie einen Bildschirmfreigabe-Datenstrom und Kameravideofeeds. Sie können Videostreams von Remoteteilnehmern abrufen, indem Sie die Eigenschaft TeamsCall
untersuchen.remoteParticipants
, wobei jeder Teilnehmer über eine Sammlung von Videostreams in der Eigenschaft videoStreams
verfügt.
Stumm schalten aktiveren und deaktivieren
Sie können die asynchronen APIs mute
und unmute
der TeamsCall
-Instanz verwenden, um Teams-Benutzer lokal stummzuschalten bzw. ihre Stummschaltung aufzuheben. Das lokale Stummschalten verhindert, dass Audiosignale an andere Teilnehmer gesendet werden.
//mute local device
await call.mute();
//unmute local device
await call.unmute();
Andere Teilnehmer stummschalten
Um alle anderen Teilnehmer stummzuschalten oder einen bestimmten Teilnehmer stummzuschalten, können Sie die asynchronen APIs muteAllRemoteParticipants
für den Anruf und mute
für den Remote-Teilnehmer verwenden:
//mute all participants except yourself
await call.muteAllRemoteParticipants();
//mute a specific participant
await call.remoteParticipants[0].mute();
Hinweis
Diese API wird als Vorschau für Entwickler bereitgestellt. Je nachdem, welches Feedback wir dazu erhalten, werden möglicherweise Änderungen vorgenommen. Verwenden Sie diese API nicht in einer Produktionsumgebung. Verwenden Sie zum Verwenden dieser API die Betaversion des Azure Communication Services Calling Web SDK.
Verwalten von Remoteteilnehmern
Die anderen Anrufteilnehmer stehen in der TeamsCall
-Instanz unter der Eigenschaft remoteParticipants
zur Verfügung. Es handelt sich um eine Sammlung von RemoteParticipant
-Objekten. Sie können die anderen Teilnehmer des Anrufs auflisten, hinzufügen oder entfernen.
Hinweis
Das Hinzufügen einer Teilnehmermethode erfordert die threadId
des Chats. Das Communication Services-Anruf-SDK erhält keine Synchronizität der Teilnehmer in der Chat- und der Anrufliste aufrecht. Microsoft fordert Entwickler auf, die Listen im Sinne einer optimalen Benutzererfahrung synchron zu halten. Lernen Sie, wie man Chat-Threads verwaltet.
Sie können dem Teams-Anruf oder der Teams-Besprechung einen neuen Teams-Benutzer oder eine Telefonnummer hinzufügen, indem Sie die Methode addParticipant
des TeamsCall
-Objekts aufrufen. Die Methode akzeptiert die Bezeichner MicrosoftTeamsUserIdentifier
oder PhoneNumberIdentifier
als Eingabe, gibt synchron die Instanz von RemoteParticipant
zurück und löst das Ereignis remoteParticipantsUpdated
in der TeamsCall
-Instanz aus.
Sie können einen Teilnehmer aus dem Teams-Anruf- oder der Teams-Besprechung entfernen, indem Sie die removeParticipant
-Methode der TeamsCall
-Instanz asynchron aufrufen. Die Methode akzeptiert die Bezeichner MicrosoftTeamsUserIdentifier
oder PhoneNumberIdentifier
als Eingabe. Die Methode wird aufgelöst, wenn RemoteParticipant
aus der Sammlung remoteParticipants
entfernt wird, und das Ereignis remoteParticipantsUpdated
der TeamsCall
-Instanz wird ausgelöst.
Auflisten anderer Anrufteilnehmer:
const participants = call.remoteParticipants; // [remoteParticipant, remoteParticipant....]
Hinzufügen von Teams-Benutzern und Telefonnummern zum Teams-Anruf oder der Teams-Besprechung:
const teamsUser = { microsoftTeamsUserId: '<MICROSOFT_TEAMS_USER_ID>' };
const phoneUser = { phoneNumber: '<PHONE_NUMBER_E164_FORMAT>' }
const remoteParticipant = call.addParticipant(teamsUser , { threadId: '<THREAD_ID>' });
const remoteParticipant2 = call.addParticipant(phoneUser , { threadId: '<THREAD_ID>' });
Entfernen von Teams-Benutzern und Telefonnummern aus dem Teams-Anruf oder der Teams-Besprechung:
const teamsUser = { microsoftTeamsUserId: '<MICROSOFT_TEAMS_USER_ID>' };
const phoneUser = { phoneNumber: '<PHONE_NUMBER_E164_FORMAT>' }
await call.removeParticipant(teamsUser);
await call.removeParticipant(phoneUser);
Remoteteilnehmer
Remoteteilnehmer stellen einen Endpunkt dar, der mit dem laufenden Teams-Anruf oder der Teams-Besprechung verbunden ist. Die Klasse remoteParticipant
weist den folgenden Satz von Eigenschaften und Sammlungen auf:
identifier
: Gibt einen der folgenden Bezeichner zurück:CommunicationUserIdentifier
,MicrosoftTeamsUserIdentifier
,PhoneNumberIdentifier
oderUnknownIdentifier
.
const identifier = remoteParticipant.identifier;
state
: Gibt einenstring
zurück, der den Zustand eines Remoteteilnehmers darstellt. Der Zustand kann einen der folgenden Werte haben:
Zustandswert | When | Beschreibung |
---|---|---|
Idle |
Anfangszustand | Dies ist der erste Zustand des Teilnehmers |
Connecting |
Nach Idle |
Übergangszustand während sich der Teilnehmer mit dem Anruf verbindet. |
Ringing |
Nach Connecting |
Der Teilnehmer hat eine incomingCall -Benachrichtigung erhalten, oder der Teams-Client läutet |
Connected |
Nach Ringing , Connecting , EarlyMedia oder InLobby |
Der Teilnehmer hat die Anrufeinladung angenommen oder ist dem Anruf beigetreten. Die Medien fließen zum Teilnehmer. |
Hold |
Nach Connected |
Der Teilnehmer wurde im Anruf auf Halten gesetzt. |
EarlyMedia |
Nach Connecting |
Die Medienwiedergabe erfolgt, bevor ein Teilnehmer eine Verbindung mit dem Anruf herstellt |
InLobby |
Nach Ringing , Connecting oder EarlyMedia |
Der Teilnehmer befindet sich im Wartebereich für Teams-Besprechungen. |
Disconnected |
Endzustand | Der Teilnehmer wird vom Anruf getrennt. Wenn der Remoteteilnehmer seine Netzwerkkonnektivität verliert, ändert sich der Zustand nach zwei Minuten in Disconnected . |
Status von Remote-Teilnehmern in 1:1- oder Gruppenanrufen:
Status von Remote-Teilnehmern in Teams-Besprechungen:
const state = remoteParticipant.state;
callEndReason
: Gibt ein Objekt zurück, das zusätzliche Informationen zum Grund des Beendens des Aufrufs enthält. Eigenschaftcode
gibt eine Zahl zurück, die dem Grund zugeordnet ist, undsubCode
gibt eine Zahl zurück, die dem Code und dem Grund zugeordnet ist. Hier finden Sie weitere Informationen zu Fehlercodes.
const callEndReason = remoteParticipant.callEndReason;
const callEndReasonCode = callEndReason.code
const callEndReasonSubCode = callEndReason.subCode
isMuted
: Gibt den WertBoolean
zurück, der einen Status der lokalen Stummschaltung darstellt.
const isMuted = remoteParticipant.isMuted;
isSpeaking
: Gibt den WertBoolean
zurück, der den Status eines gesendeten, nicht leeren Audiosignals darstellt.
const isSpeaking = remoteParticipant.isSpeaking;
videoStreams
: Gibt eine Sammlung vonRemoteVideoStream
-Objekten zurück, die von Teilnehmern gesendet werden.
const videoStreams = remoteParticipant.videoStreams; // [RemoteVideoStream, ...]
displayName
: Gibt einenstring
zurück, der den Anzeigenamen darstellt. Das Communication Services Anruf-SDK legt diesen Wert für Teams-Benutzer nicht fest.
const displayName = remoteParticipant.displayName;
Call
id
: Gibt eine Zeichenfolge zurück, die einen eindeutigen Anrufbezeichner darstellt.
const callId = call.id;
• info
: Gibt Informationen über den Anruf zurück:
Hinweis
Diese API wird als Vorschau für Entwickler bereitgestellt. Je nachdem, welches Feedback wir dazu erhalten, werden möglicherweise Änderungen vorgenommen. Verwenden Sie diese API nicht in einer Produktionsumgebung. Zum Verwenden dieser API nutzen Sie bitte das 'Beta'-Release des Azure Communication Services Calling Web SDK
• info
: Gibt ein Objekt zurück, das Informationen zum Anruf enthält. Die Eigenschaft threadId
ist eine Zeichenfolge, die die Thread-ID des Chats darstellt, die im Teams-Client angezeigt wird.
const callInfo = call.info;
const threadId = call.info.threadId;
• remoteParticipants
: Gibt eine Sammlung von remoteParticipant
-Objekten zurück, die andere Teilnehmer im Teams-Anruf oder der Teams-Besprechung darstellen.
const remoteParticipants = call.remoteParticipants;
• callerInfo
: Gibt das CallerInfo
-Objekt zurück, wenn dies ein eingehender Aufruf ist. Die Eigenschaft identifier
kann eins der folgenden Objekte sein: CommunicationUserIdentifier
, MicrosoftTeamsUserIdentifier
, PhoneNumberIdentifier
oder UnknownIdentifier
. Die Eigenschaft displayName
ist eine Zeichenfolge, die den anzuzeigenden Namen darstellt, falls sie festgelegt wurde.
const callerIdentity = call.callerInfo.identifier;
const callerIdentity = call.callerInfo.displayName;
• state
: Gibt eine Zeichenfolge zurück, die den Zustand des Anrufs darstellt. Die Eigenschaft kann einen der folgenden Werte haben:
Zustandswert | When | Beschreibung |
---|---|---|
None |
Anfangszustand | Der anfängliche Zustand des Anrufs. |
Connecting |
Nach None |
Der Zustand, wenn ein Teams-Anruf oder eine Teams-Besprechung getätigt, ihm beigetreten oder er angenommen wird. |
Ringing |
Nach Connecting |
Der Remoteteilnehmer hat das incomingCall -Ereignis empfangen, oder der Teams-Client läutet. |
EarlyMedia |
Nach Ringing oder Connecting |
Die Medienwiedergabe erfolgt, bevor der Anruf verbunden ist. |
Connected |
Nach Ringing , EarlyMedia , InLobby , LocalHold und RemoteHold |
Der Anruf ist verbunden. Medien werden zwischen den lokalen Endpunkten und den Remoteteilnehmern übertragen. |
LocalHold |
Nach Connected |
Der Anruf wurde von einem lokalen Teilnehmer auf Halten gesetzt. Zwischen dem lokalen Endpunkt und den Remoteteilnehmern werden keine Medien übertragen. |
RemoteHold |
Nach Connected |
Der Anruf wurde von einem Remoteteilnehmer auf Halten gesetzt. Zwischen dem lokalen Endpunkt und den Remoteteilnehmern werden keine Medien übertragen. |
InLobby |
Nach Ringing oder Connecting |
Der Remoteteilnehmer befindet sich im Wartebereich für Teams-Besprechungen. Zwischen dem lokalen Endpunkt und den Remoteteilnehmern werden keine Medien übertragen. |
Disconnecting |
Nach jedem Zustand | Der Übergangszustand, bevor der Anruf in den Zustand Disconnected übergeht. |
Disconnected |
Endzustand | Der Endzustand des Anrufs. Wenn die Netzwerkverbindung unterbrochen wird, ändert sich der Zustand nach zwei Minuten in Disconnected . |
Status für 1:1- oder Gruppenanrufe:
Status für Teams-Besprechungen:
const callState = call.state;
• callEndReason
: Gibt das Objekt CallEndReason
zurück, das zusätzliche Informationen über den beendeten Anruf enthält. Die Eigenschaft code
gibt eine Zahl zurück, die dem Grund zugeordnet ist, und subCode
gibt eine Zahl zurück, die dem Code und dem Grund zugeordnet ist. Hier finden Sie weitere Informationen zu Fehlercodes
const callEndReason = call.callEndReason;
const callEndReasonCode = callEndReason.code
const callEndReasonSubCode = callEndReason.subCode
• direction
: Gibt einen string
zurück, der die Richtung des Aufrufs angibt. Die Eigenschaft kann einen der folgenden Werte haben: „Eingehend“ oder Outgoing
.
const isIncoming = call.direction == 'Incoming';
const isOutgoing = call.direction == 'Outgoing';
• isMuted
: Gibt einen Boolean
-Wert zurück, der einen Zustand der lokalen Stummschaltung darstellt.
const muted = call.isMuted;
• isScreenSharingOn
: Gibt den Boolean
-Wert „Wahr“ zurück, wenn Sie einen Bildschirmfreigabe-Datenstrom an andere Teilnehmer senden.
const isScreenSharingOn = call.isScreenSharingOn;
• localVideoStreams
: Gibt eine Sammlung von LocalVideoStream
-Objekten zurück, die Videodatenströme darstellt, die an Remoteteilnehmer gesendet werden.
const localVideoStreams = call.localVideoStreams;
Chat-Thread verwalten
Das Angeben einer Chat-ID ist zum Durchführen von Gruppenanrufen und zum Hinzufügen von Teilnehmern zu vorhandenen Anrufen obligatorisch. Zugeordnete Chats und Anrufe weisen eine separate Teilnehmerliste auf. Bevor Sie dem Anruf Teilnehmer hinzufügen, fügen Sie den Benutzer zum Chat hinzu, um die beste Benutzererfahrung zu bieten und die Anforderungen an die Informationsbarriere zu erfüllen. Das Hinzufügen eines Benutzers zum Anruf, ohne ihn dem Chat hinzuzufügen, kann zu Ausnahmen führen, wenn eine Informationsbarriere eingerichtet ist.
Stellen Sie sich folgendes Szenario vor: Alice telefoniert mit Bob, dann fügt Alice Charlie hinzu, und 3 Minuten später entfernt Alice Charlie aus dem Anruf.
- Erstellen Sie einen Chat-Thread zwischen Alice, Bob und Charlie. Bewahren Sie die
threadId
des Chats für später auf. - Alice ruft Bob und Charlie mithilfe der
startCall
-Methode derTeamsCallAgent
-Instanz auf. - Fügen Sie Dan zum Chat-Thread mit
threadId
hinzu, und verwenden Sie Chat Graph-API zum Hinzufügen von Mitgliedern - Alice fügt Dan zum Anruf hinzu und verwendet dazu die Methode
addParticipant
voncall
und gibt diethreadId
an - Alice entfernt Dan aus dem Anruf mit der Methode
removeParticipant
voncall
und gibt diethreadId
an - Entfernen Sie Dan aus dem Chat-Thread mit
threadId
unter Verwendung der Chat Graph-API zum Entfernen von Mitgliedern
Wenn ein Teams-Benutzer die Gesprächsaufzeichnung beendet, wird die Aufzeichnung in den mit dem Thema verbundenen Chat gestellt. Die angegebene Chat-ID wirkt sich auf Teams-Benutzer in Teams-Clients aus.
Empfehlungen für die Verwaltung der Chat-ID:
- Eskalation des 1:1-Telefonanrufs durch Hinzufügen eines weiteren Telefonteilnehmers: Verwenden Sie die Graph-API, um eine vorhandene Chat-ID mit dem einzigen Teams-Benutzer als Teilnehmer abzurufen, oder erstellen Sie einen neuen Gruppenchat mit Teilnehmern: Teams-Benutzer-ID und „00000000-0000-0000-0000-000000000000“.
- Gruppenanruf mit einem einzelnen Teams-Benutzer und mehreren Telefonteilnehmern: Verwenden Sie die Graph-API, um eine vorhandene Chat-ID mit dem einzigen Teams-Benutzer als Teilnehmer abzurufen, oder erstellen Sie einen neuen Gruppenchat mit Teilnehmern: Teams-Benutzer-ID und „00000000-0000-0000-0000-000000000000“.
- Gruppenanruf mit mehr als zwei Teams-Benutzern: Verwenden Sie die Graph-API, um einen Gruppenchat mit den Teams-Benutzern abzurufen oder zu erstellen.