Compartir a través de


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

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

Cliente de Salas de comunicación

código fuente | Package (NPM) | Samples

Empezar

Entornos admitidos actualmente

Prerrequisitos

  • Una suscripción de Azure .
  • Un recurso de Communication Services existente. Si necesita crear el recurso, puede usar el Azure Portal, [Azure PowerShell][azure_powershell] o la CLI de Azure .

Paquete de JavaScript

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

Instalar

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 distintas características del servicio Azure RoomsApi al que puede acceder.

Ejemplos

Autenticación

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

Creación de KeyCredential 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 una cadena de conexión

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

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

Uso de un 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 método createRoom. Todas las configuraciones son opcionales.

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

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

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

Actualizar una sala

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

A partir de la versión 1.1.0, se agrega PstnDialOutEnabled propiedad 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 método getRoom.

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

Lista de salas

Enumere todas las salas con el método listRooms.

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 método 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);

Quitar participantes

Para quitar participantes, llame al método removeParticipants.

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

Eliminar una sala

Use el método deleteRoom para eliminar una sala.

await roomsClient.deleteRoom(room.id);

Solución de problemas

Registro

Habilitar el registro puede ayudar a descubrir información útil sobre 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 el @azure/logger:

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

Para obtener instrucciones más detalladas sobre cómo habilitar los registros, puede consultar los documentos del paquete de @azure/registrador.

Pasos siguientes

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

Contribuyendo

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

impresiones