Condividi tramite


Libreria client Azure RoomsApi per JavaScript - versione 1.1.1

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

Communication Rooms Client

esempio diPackage (NPM) del codice sorgente

Introduttiva

Ambienti attualmente supportati

Prerequisiti

  • Una sottoscrizione di Azure .
  • Una risorsa di Servizi di comunicazione esistente. Se è necessario creare la risorsa, è possibile usare il portale di Azure , il [Azure PowerShell][azure_powershell] o l'interfaccia della riga di comando di Azure .

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.

Esempi

Autenticazione

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

Creare KeyCredential 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 una stringa di connessione

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

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

Uso di un 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 fornire anche l'endpoint appropriato. È possibile ottenere questo endpoint dalla risorsa servizi di comunicazione in portale di Azure.

Uso

Creare una stanza

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

Se non viene specificato validFrom, per impostazione predefinita viene impostato su datetime corrente. Se validUntil non viene specificato, il valore predefinito è validFrom + 180 days.

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

A partire dalla versione 1.1.0, PstnDialOutEnabled proprietà viene aggiunta per abilitare o disabilitare la funzionalità di connessione remota PSTN in una stanza. Il PstnDialOutEnabled è una proprietà facoltativa. Se non viene specificato PstnDialOutEnabled, 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());
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);

Trova communicationIdentityClient qui

Aggiornare una stanza

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

A partire dalla versione 1.1.0, PstnDialOutEnabled proprietà viene aggiunta per abilitare o disabilitare la funzionalità di connessione remota 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, utilizzare il metodo getRoom.

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

Elencare le sale

Elencare tutte le sale usando il metodo listRooms.

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 metodo addOrUpdateParticipants.

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

Rimuovere i partecipanti

Per rimuovere i partecipanti chiamare il metodo removeParticipants.

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

Eliminare una stanza

Utilizzare il metodo deleteRoom per eliminare una stanza.

await roomsClient.deleteRoom(room.id);

Risoluzione dei problemi

Registrazione

L'abilitazione della registrazione può aiutare a 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 nel @azure/logger:

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

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

Passaggi successivi

Per esempi dettagliati su come usare questa libreria, vedere gli esempi di directory.

Contribuire

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

impressioni