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
- Versiones de LTS de Node.js
- Versiones más recientes de Safari, Chrome, Edge y Firefox.
Requisitos previos
- Una suscripción de Azure.
- Un recurso de Communication Services existente. Si necesita crear el recurso, puede usar 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 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.
Proyectos relacionados
Azure SDK for JavaScript