Freigeben über


Azure RoomsApi-Clientbibliothek für JavaScript– Version 1.1.0

Dieses Paket enthält ein isomorphes SDK (wird sowohl in Node.js als auch in Browsern ausgeführt) für den Azure RoomsApi-Client.

Kommunikationsräume-Client

Quellcode | Paket (NPM) | Proben

Erste Schritte

Die derzeitig unterstützten Umgebungen

Voraussetzungen

  • Ein Azure-Abonnement.
  • Eine vorhandene Communication Services-Ressource. Wenn Sie die Ressource erstellen müssen, können Sie das Azure-Portal, die [Azure PowerShell][azure_powershell] oder die Azure CLI verwenden.

JavaScript-Paket

Um diese Clientbibliothek im Browser verwenden zu können, müssen Sie zunächst einen Bundler verwenden. Ausführliche Informationen dazu finden Sie in unserer Bündelungsdokumentation.

Installieren von

npm install @azure/communication-rooms

Wichtige Begriffe

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

Authentication

Sie können einen Schlüssel und/oder eine Verbindungszeichenfolge aus Ihrer Communication Services-Ressource im Azure-Portal abrufen. Sobald Sie über einen Schlüssel verfügen, können Sie sich RoomsClient mit einer der folgenden Methoden authentifizieren:

KeyCredential Create 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 eines 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 angeben. Sie können diesen Endpunkt über Ihre Communication Services-Ressource im Azure-Portal abrufen.

Verbrauch

Erstellen eines Raums

Rufen Sie die createRoom -Methode auf, um einen Raum zu erstellen. Alle Einstellungen sind optional.

Wenn validFrom nicht angegeben wird, wird standardmäßig der aktuelle datetime-Wert verwendet. Wenn validUntil nicht angegeben ist, ist validFrom + 180 daysder Standardwert .

Wenn nicht participantsrole angegeben wird, ist dies attendee standardmäßig.

Ab Version 1.1.0 wird die Eigenschaft hinzugefügt, PstnDialOutEnabled um die PSTN-DFÜ-Funktion in einem Raum zu aktivieren oder zu deaktivieren. PstnDialOutEnabled ist eine optionale Eigenschaft. Wenn PstnDialOutEnabled nicht angegeben ist, 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());
let validForDays = 10;
let validUntil = new Date(validFrom.getTime());
validUntil.setDate(validFrom.getDate() + validForDays);
let 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);

CommunicationIdentityClient finden Sie hier.

Aktualisieren eines Raums

Verwenden Sie die -Methode, um die validFrom Einstellungen und validUntil eines Raums updateRoom zu aktualisieren.

Ab Version 1.1.0 wird die Eigenschaft hinzugefügt, PstnDialOutEnabled um die PSTN-DFÜ-Funktion 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 Raums

Verwenden Sie zum Abrufen eines Raums die getRoom -Methode.

const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);

Auflisten von Räumen

Listet alle Räume mithilfe der -Methode auf listRooms .

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

Verwenden Sie die addOrUpdateParticipants -Methode, um neue Teilnehmer hinzuzufügen oder vorhandene Teilnehmer zu aktualisieren.

const user2 = await identityClient.createUserAndToken(["voip"]);
const updateParticipantsList = [
  {
    id: user1.user,
    role: "Presenter",
  },
  {
    id: user2.user,
  },
];

// run addOrUpdate operation
await roomsClient.addOrUpdateParticipants(room.id, updateParticipantsList);

Entfernen von Teilnehmer*innen

Um Teilnehmer zu entfernen, rufen Sie die -Methode auf removeParticipants .

const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);

Teilnehmer in einem Raum abrufen

Rufen Sie die -Methode auf, um alle Teilnehmer in einem Raum aufzulisten listParticipants .

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 Raums

Verwenden Sie die deleteRoom -Methode, um einen Raum zu löschen.

await roomsClient.deleteRoom(room.id);

Problembehandlung

Protokollierung

Die Aktivierung der Protokollierung kann hilfreiche Informationen über Fehler aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die Umgebungsvariable AZURE_LOG_LEVEL auf info fest. Alternativ kann die Protokollierung zur Laufzeit aktiviert werden, indem Sie setLogLevel in @azure/logger aufrufen:

const { setLogLevel } = require("@azure/logger");
setLogLevel("info");

Ausführlichere Anweisungen zum Aktivieren von Protokollen finden Sie in der Paketdokumentation zu @azure/logger.

Nächste Schritte

Ausführliche Beispiele zur Verwendung dieser Bibliothek finden Sie im Beispielverzeichnis .

Mitwirken

Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.

Aufrufe