Azure RoomsApi-Clientbibliothek für JavaScript – Version 1.1.1
Dieses Paket enthält ein isomorphes SDK (sowohl in Node.js als auch in Browsern) für den Azure RoomsApi-Client.
Kommunikationsräume-Client
Quellcode | Package (NPM) | Beispiele
Erste Schritte
Derzeit unterstützte Umgebungen
- LTS-Versionen von Node.js
- Neueste Versionen von Safari, Chrome, Edge und Firefox.
Voraussetzungen
- Ein Azure-Abonnement.
- Eine vorhandene Kommunikationsdiensteressource. Wenn Sie die Ressource erstellen müssen, können Sie das Azure Portal, die [Azure PowerShell][azure_powershell] oder die Azure CLI-verwenden.
JavaScript-Bündel
Um diese Clientbibliothek im Browser zu verwenden, müssen Sie zuerst einen Bundler verwenden. Ausführliche Informationen dazu finden Sie in unserer Bündelungsdokumentation.
Installation
npm install @azure/communication-rooms
Schlüsselkonzepte
RoomsApiClient
RoomsClient
ist die primäre Schnittstelle für Entwickler, die die Azure RoomsApi-Clientbibliothek verwenden. Erkunden Sie die Methoden für dieses Clientobjekt, um die verschiedenen Features des Azure RoomsApi-Diensts zu verstehen, auf den Sie zugreifen können.
Beispiele
Authentifizierung
Sie können eine Schlüssel- und/oder Verbindungszeichenfolge aus Ihrer Kommunikationsdienste-Ressource in Azure Portalabrufen. Sobald Sie über einen Schlüssel verfügen, können Sie die RoomsClient
mit einer der folgenden Methoden authentifizieren:
Erstellen von KeyCredential
mit AzureKeyCredential
vor der Initialisierung des Clients
import { AzureKeyCredential } from "@azure/core-auth";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new AzureKeyCredential(KEY);
const client = new RoomsClient(ENDPOINT, credential);
Verwenden einer Verbindungszeichenfolge
import { RoomsClient } from "@azure/communication-rooms";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);
Verwenden eines TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new DefaultAzureCredential();
const client = new RoomsClient(ENDPOINT, credential);
Wenn Sie einen Schlüssel zum Initialisieren des Clients verwenden, müssen Sie auch den entsprechenden Endpunkt bereitstellen. Sie können diesen Endpunkt aus Ihrer Kommunikationsdienste-Ressource in Azure Portalabrufen.
Verwendung
Erstellen eines Chatrooms
Rufen Sie zum Erstellen eines Chatrooms die createRoom
-Methode auf. Alle Einstellungen sind optional.
Wenn validFrom
nicht angegeben wird, wird sie standardmäßig auf die aktuelle Datumszeit festgelegt. Wenn validUntil
nicht angegeben wird, ist die Standardeinstellung validFrom + 180 days
.
Wenn participants
definiert wird, wenn role
nicht angegeben ist, wird sie standardmäßig attendee
.
Ab 1.1.0-Version wird PstnDialOutEnabled
Eigenschaft hinzugefügt, um die PstN-Auswahlfunktion in einem Raum zu aktivieren oder zu deaktivieren. Die PstnDialOutEnabled
ist eine optionale Eigenschaft. Wenn PstnDialOutEnabled
nicht angegeben wird, ist der Standardwert für PstnDialOutEnabled
"false".
// create users with CommunicationIdentityClient
const identityClient = new CommunicationIdentityClient(connectionString);
const user1 = await identityClient.createUserAndToken(["voip"]);
// create RoomsClient
const roomsClient: RoomsClient = new RoomsClient(CONNECTION_STRING);
const validFrom = new Date(Date.now());
const validForDays = 10;
const validUntil = new Date(validFrom.getTime());
validUntil.setDate(validFrom.getDate() + validForDays);
const pstnDialOutEnabled = true;
// options payload to create a room
const createRoomOptions: CreateRoomOptions = {
validFrom,
validUntil,
pstnDialOutEnabled,
participants: [
{
id: user1.user,
role: "Attendee",
},
],
};
// create room
const room = await roomsClient.createRoom(createRoomOptions);
Find CommunicationIdentityClient hier
Aktualisieren eines Chatrooms
Verwenden Sie die updateRoom
-Methode, um die validFrom
und validUntil
Einstellungen eines Chatrooms zu aktualisieren.
Ab 1.1.0-Version wird PstnDialOutEnabled
Eigenschaft hinzugefügt, um die PstN-Auswahlfunktion in einem Raum zu aktivieren oder zu deaktivieren.
validForDays = 60;
validUntil.setDate(validFrom.getDate() + validForDays);
pstnDialOutEnabled = false;
const updateRoomOptions: UpdateRoomOptions = {
validFrom,
validUntil,
pstnDialOutEnabled,
};
// update the room using the room id from the creation operation
const updatedRoom = await roomsClient.updateRoom(room.id, updateRoomOptions);
Abrufen eines Chatrooms
Verwenden Sie zum Abrufen eines Chatrooms die getRoom
-Methode.
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
Räume auflisten
Listet alle Räume mithilfe der listRooms
-Methode auf.
const roomsList = await roomsClient.listRooms();
for await (const currentRoom of roomsList) {
// access room data
console.log(`The room id is ${currentRoom.id}.`);
}
Hinzufügen oder Aktualisieren von Teilnehmern
Um neue Teilnehmer hinzuzufügen oder vorhandene Teilnehmer zu aktualisieren, verwenden Sie die addOrUpdateParticipants
-Methode.
const user2 = await identityClient.createUserAndToken(["voip"]);
const updateParticipantsList: RoomParticipantPatch[] = [
{
id: user1.user,
role: "Presenter",
},
{
id: user2.user,
},
];
// run addOrUpdate operation
await roomsClient.addOrUpdateParticipants(room.id, updateParticipantsList);
Teilnehmer entfernen
Um Teilnehmer zu entfernen, rufen Sie die removeParticipants
-Methode auf.
const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);
Abrufen von Teilnehmern in einem Raum
Um alle Teilnehmer in einem Raum aufzurufen, rufen Sie die listParticipants
-Methode auf.
const participantsList = await roomsClient.listParticipants(room.id);
for await (const participant of participantsList) {
// access participant data
console.log(`The participant's role is ${participant.role}.`);
}
Löschen eines Chatrooms
Verwenden Sie die deleteRoom
Methode, um einen Chatroom zu löschen.
await roomsClient.deleteRoom(room.id);
Fehlerbehebung
Protokollierung
Das Aktivieren der Protokollierung kann hilfreiche Informationen zu Fehlern aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die AZURE_LOG_LEVEL
Umgebungsvariable auf info
fest. Alternativ kann die Protokollierung zur Laufzeit durch Aufrufen von setLogLevel
im @azure/logger
aktiviert werden:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Ausführlichere Anweisungen zum Aktivieren von Protokollen finden Sie in den @azure/Logger-Paketdokumenten.
Nächste Schritte
Ausführliche Beispiele zur Verwendung dieser Bibliothek finden Sie in den Beispielen Verzeichnis.
Beitragend
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie bitte den mitwirkenden Leitfaden, um mehr über das Erstellen und Testen des Codes zu erfahren.
Verwandte Projekte
Azure SDK for JavaScript