Freigeben über


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

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 participantsdefiniert 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 infofest. Alternativ kann die Protokollierung zur Laufzeit durch Aufrufen von setLogLevel im @azure/loggeraktiviert 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.

Aufrufe