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
- versiones ltS de Node.js
- Versiones más recientes de Safari, Chrome, Edge y Firefox.
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.
Proyectos relacionados
Azure SDK for JavaScript