Libreria client Azure RoomsApi per JavaScript - versione 1.1.0

Questo pacchetto contiene un SDK isomorfico (eseguito sia in Node.js che nei browser) per il client Azure RoomsApi.

Communication Rooms Client

Codice | sorgentePacchetto (NPM) | Campioni

Introduzione

Ambienti attualmente supportati

Prerequisiti

JavaScript Bundle

Per usare questa libreria client nel browser, è prima necessario usare un bundler. Per informazioni dettagliate su come eseguire questa operazione, vedere la documentazione di creazione di bundle.

Installazione

npm install @azure/communication-rooms

Concetti chiave

RoomsApiClient

RoomsClient è l'interfaccia principale per gli sviluppatori che usano la libreria client Azure RoomsApi. Esplorare i metodi in questo oggetto client per comprendere le diverse funzionalità del servizio Azure RoomsApi a cui è possibile accedere.

Esempio

Authentication

È possibile ottenere una chiave e/o stringa di connessione dalla risorsa di Servizi di comunicazione nel portale di Azure. Dopo aver ottenuto una chiave, è possibile autenticare con RoomsClient uno dei metodi seguenti:

KeyCredential Create con AzureKeyCredential prima di inizializzare il client

import { AzureKeyCredential } from "@azure/core-auth";
import { RoomsClient } from "@azure/communication-rooms";

const credential = new AzureKeyCredential(KEY);
const client = new RoomsClient(ENDPOINT, credential);

Uso di un stringa di connessione

import { RoomsClient } from "@azure/communication-rooms";

const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);

Uso di un oggetto TokenCredential

import { DefaultAzureCredential } from "@azure/identity";
import { RoomsClient } from "@azure/communication-rooms";

const credential = new DefaultAzureCredential();
const client = new RoomsClient(ENDPOINT, credential);

Se si usa una chiave per inizializzare il client, sarà necessario specificare anche l'endpoint appropriato. È possibile ottenere questo endpoint dalla risorsa di Servizi di comunicazione nel portale di Azure.

Utilizzo

Create una stanza

Per creare una stanza, chiamare il createRoom metodo . Tutte le impostazioni sono facoltative.

Se validFrom non viene specificato, l'impostazione predefinita è datetime corrente. Se validUntil non viene specificato, il valore predefinito è validFrom + 180 days.

Quando si definisce participants, se role non viene specificato, per impostazione predefinita sarà attendee .

A partire dalla versione 1.1.0, PstnDialOutEnabled la proprietà viene aggiunta per abilitare o disabilitare la funzionalità Accesso esterno PSTN in una stanza. PstnDialOutEnabled è una proprietà facoltativa. Se PstnDialOutEnabled non viene specificato, il valore predefinito per 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);

Trovare CommunicationIdentityClient qui

Aggiornare una stanza

Per aggiornare le validFrom impostazioni e validUntil di una stanza, utilizzare il updateRoom metodo .

A partire dalla versione 1.1.0, PstnDialOutEnabled la proprietà viene aggiunta per abilitare o disabilitare la funzionalità Accesso esterno PSTN in una stanza.

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);

Ottenere una stanza

Per ottenere una stanza, usare il getRoom metodo .

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

Elencare le sale

Elencare tutte le sale usando il listRooms metodo .

const roomsList = await roomsClient.listRooms();
for await (const currentRoom of roomsList) {
  // access room data
  console.log(`The room id is ${currentRoom.id}.`);
}

Aggiungere o aggiornare i partecipanti

Per aggiungere nuovi partecipanti o aggiornare i partecipanti esistenti, usare il addOrUpdateParticipants metodo .

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);

Rimuovere i partecipanti

Per rimuovere i partecipanti chiamano il removeParticipants metodo .

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

Ottenere i partecipanti in una stanza

Per elencare tutti i partecipanti in una sala chiamare il listParticipants metodo .

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}.`);
}

Eliminare una stanza

Usare il deleteRoom metodo per eliminare una stanza.

await roomsClient.deleteRoom(room.id);

Risoluzione dei problemi

Registrazione

L'abilitazione della registrazione consente di individuare informazioni utili sugli errori. Per visualizzare un log di richieste e risposte HTTP, impostare la variabile di ambiente AZURE_LOG_LEVEL su info. In alternativa, la registrazione può essere abilitata in fase di esecuzione chiamando setLogLevel in @azure/logger:

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

Per istruzioni più dettagliate su come abilitare i log, è possibile esaminare la documentazione del pacchetto di @azure/logger.

Passaggi successivi

Per esempi dettagliati su come usare questa libreria, vedere la directory degli esempi .

Contributo

Per contribuire a questa libreria, leggere la guida ai contributi per altre informazioni su come compilare e testare il codice.

Impression