Share via


Azure RoomsApi client library for JavaScript - version 1.1.0 (Biblioteca de cliente Azure RoomsApi para JavaScript – versão 1.1.0)

Este pacote contém um SDK isomórfico (executado tanto em Node.js como em browsers) para o cliente Azure RoomsApi.

Cliente de Salas de Comunicação

Código fonte | Pacote (NPM) | Exemplos

Introdução

Ambientes atualmente suportados

Pré-requisitos

  • Uma subscrição do Azure.
  • Um recurso existente do Communication Services. Se precisar de criar o recurso, pode utilizar o Portal do Azure, o [Azure PowerShell][azure_powershell] ou a CLI do Azure.

Pacote JavaScript

Para utilizar esta biblioteca de cliente no browser, primeiro tem de utilizar um bundler. Para obter detalhes sobre como fazê-lo, veja a nossa documentação de agrupamento.

Instalação

npm install @azure/communication-rooms

Conceitos-chave

RoomsApiClient

RoomsClient é a interface principal para programadores que utilizam a biblioteca de cliente Azure RoomsApi. Explore os métodos neste objeto de cliente para compreender as diferentes funcionalidades do serviço Azure RoomsApi a que pode aceder.

Exemplos

Autenticação

Pode obter uma chave e/ou cadeia de ligação a partir do recurso dos Serviços de Comunicação no portal do Azure. Assim que tiver uma chave, pode autenticar RoomsClient com qualquer um dos seguintes métodos:

KeyCredential Create com AzureKeyCredential antes de inicializar o cliente

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

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

Utilizar um cadeia de ligação

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

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

Utilizar um TokenCredential

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

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

Se utilizar uma chave para inicializar o cliente, também terá de fornecer o ponto final adequado. Pode obter este ponto final a partir do recurso dos Serviços de Comunicação no portal do Azure.

Utilização

Create uma sala

Para criar uma sala, chame o createRoom método . Todas as definições são opcionais.

Se validFrom não for fornecido, é predefinido para o datetime atual. Se validUntil não for fornecido, a predefinição é validFrom + 180 days.

Ao definir participants, se role não for especificado, será attendee por predefinição.

A partir da versão 1.1.0, PstnDialOutEnabled a propriedade é adicionada para ativar ou desativar a funcionalidade Desativar o Acesso Telefónico RTPC numa sala. É PstnDialOutEnabled uma propriedade opcional. Se PstnDialOutEnabled não for fornecido, a predefinição para PstnDialOutEnabled é falso.

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

Localize CommunicationIdentityClient aqui

Atualizar uma sala

Para atualizar as validFrom definições e validUntil de uma sala, utilize o updateRoom método .

A partir da versão 1.1.0, PstnDialOutEnabled a propriedade é adicionada para ativar ou desativar a funcionalidade Desativar o Acesso Telefónico RTPC numa 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);

Obter uma sala

Para obter uma sala, utilize o getRoom método .

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

Listar salas

Liste todas as salas com o 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}.`);
}

Adicionar ou atualizar participantes

Para adicionar novos participantes ou atualizar os participantes existentes, utilize o 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);

Remover participantes

Para remover participantes, chame o removeParticipants método .

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

Obter participantes numa sala

Para listar todos os participantes numa sala, chame o 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 uma sala

Utilize o deleteRoom método para eliminar uma sala.

await roomsClient.deleteRoom(room.id);

Resolução de problemas

Registo

Ativar o registo pode ajudar a descobrir informações úteis sobre falhas. Para ver um registo de pedidos e respostas HTTP, defina a variável de AZURE_LOG_LEVEL ambiente como info. Em alternativa, o registo pode ser ativado no runtime ao chamar setLogLevel no @azure/logger:

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

Para obter instruções mais detalhadas sobre como ativar os registos, pode ver os documentos do pacote @azure/logger.

Passos seguintes

Veja o diretório de exemplos para obter exemplos detalhados sobre como utilizar esta biblioteca.

Contribuir

Se quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.

Impressões