Compartir a través de


Biblioteca cliente de Azure RoomsApi para JavaScript: versión 1.1.0

Este paquete contiene un SDK isomórfico (se ejecuta en Node.js y en exploradores) para el cliente de Azure RoomsApi.

Cliente de Salas de comunicación

Código | fuentePaquete (NPM) | Muestras

Introducción

Entornos admitidos actualmente

Requisitos previos

Paquete de JavaScript

Para usar esta biblioteca cliente en el explorador, primero debe usar un empaquetador. Para más información sobre cómo hacerlo, consulte nuestra documentación de agrupación.

Instalación de

npm install @azure/communication-rooms

Conceptos clave

RoomsApiClient

RoomsClient es la interfaz principal para los desarrolladores que usan la biblioteca cliente de Azure RoomsApi. Explore los métodos de este objeto de cliente para comprender las diferentes características del servicio Azure RoomsApi al que puede acceder.

Ejemplos

Authentication

Puede obtener una clave o cadena de conexión del recurso de Communication Services en Azure Portal. Una vez que tenga una clave, puede autenticarse RoomsClient con cualquiera de los métodos siguientes:

KeyCredential Create con AzureKeyCredential antes de inicializar el cliente

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

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

Uso de un cadena de conexión

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

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

Uso de TokenCredential

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

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

Si usa una clave para inicializar el cliente, también deberá proporcionar el punto de conexión adecuado. Puede obtener este punto de conexión del recurso de Communication Services en Azure Portal.

Uso

Creación de una sala

Para crear una sala, llame al createRoom método . Todos los parámetros son opcionales.

Si validFrom no se proporciona, el valor predeterminado es datetime actual. Si validUntil no se proporciona , el valor predeterminado es validFrom + 180 days.

Al definir participants, si role no se especifica, será attendee de forma predeterminada.

A partir de la versión 1.1.0, PstnDialOutEnabled la propiedad se agrega para habilitar o deshabilitar la característica de acceso telefónico rtC en una sala. PstnDialOutEnabled es una propiedad opcional. Si PstnDialOutEnabled no se proporciona, el valor predeterminado de PstnDialOutEnabled es 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);

Busque CommunicationIdentityClient aquí.

Actualizar una sala

Para actualizar la validFrom configuración y validUntil de una sala, use el updateRoom método .

A partir de la versión 1.1.0, PstnDialOutEnabled la propiedad se agrega para habilitar o deshabilitar la característica de acceso telefónico rtC en una sala.

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

Obtener una habitación

Para obtener una sala, use el getRoom método .

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

Enumerar salas

Enumere todas las salas con el listRooms método .

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

Agregar o actualizar participantes

Para agregar nuevos participantes o actualizar los participantes existentes, use el addOrUpdateParticipants método .

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

Eliminación de participantes

Para quitar participantes, llame al removeParticipants método .

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

Obtener participantes en una sala

Para enumerar todos los participantes de una sala, llame al listParticipants método .

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

Eliminar una sala.

Use el deleteRoom método para eliminar una sala.

await roomsClient.deleteRoom(room.id);

Solución de problemas

Registro

La habilitación del registro puede ayudar a descubrir información útil sobre los errores. Para ver un registro de solicitudes y respuestas HTTP, establezca la variable de entorno AZURE_LOG_LEVEL en info. Como alternativa, el registro se puede habilitar en tiempo de ejecución llamando a setLogLevel en @azure/logger:

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

Para obtener instrucciones más detalladas sobre cómo habilitar los registros, consulte los documentos del paquete @azure/logger.

Pasos siguientes

Eche un vistazo al directorio de ejemplos para obtener ejemplos detallados sobre cómo usar esta biblioteca.

Contribuciones

Si desea contribuir a esta biblioteca, lea la guía de contribución para obtener más información sobre cómo compilar y probar el código.

Impresiones