Поделиться через


Клиентская библиотека Azure RoomsApi для JavaScript версии 1.1.0

Этот пакет содержит изоморфный пакет SDK (выполняется как в Node.js, так и в браузерах) для клиента Azure RoomsApi.

Клиент комнат связи

Исходный код | Пакет (NPM) | Образцы

Начало работы

Поддерживаемые в настоящее время среды

Предварительные требования

  • Подписка Azure.
  • Существующий ресурс Служб коммуникации. Если необходимо создать ресурс, можно использовать портал Azure, [Azure PowerShell][azure_powershell] или Azure CLI.

Пакет JavaScript

Чтобы использовать эту клиентную библиотеку в браузере, сначала необходимо использовать средство пакетной установки. Дополнительные сведения о том, как это сделать, см. в документации по объединениям.

Установка

npm install @azure/communication-rooms

Основные понятия

RoomsApiClient

RoomsClient — это основной интерфейс для разработчиков, использующих клиентную библиотеку Azure RoomsApi. Изучите методы этого клиентского объекта, чтобы понять различные функции службы Azure RoomsApi, к которым можно получить доступ.

Примеры

Аутентификация

Ключ и (или) строка подключения можно получить из ресурса Служб коммуникации на портале Azure. Получив ключ, можно выполнить проверку подлинности RoomsClient с помощью любого из следующих методов:

KeyCredential Create с AzureKeyCredential до инициализации клиента

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

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

Использование строка подключения

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

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

Использование TokenCredential

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

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

Если вы используете ключ для инициализации клиента, необходимо также указать соответствующую конечную точку. Эту конечную точку можно получить из ресурса Служб коммуникации на портале Azure.

Использование

Create комнаты

Чтобы создать комнату, вызовите createRoom метод . Все эти параметры не являются обязательными.

Если validFrom параметр не указан, по умолчанию используется текущая дата и время. Если validUntil параметр не указан, по умолчанию используется значение validFrom + 180 days.

При определении participants, если role параметр не указан, он будет по attendee умолчанию.

Начиная с выпуска 1.1.0, добавляется свойство для PstnDialOutEnabled включения или отключения функции коммутируемого номера ТСОП в комнате. Свойство PstnDialOutEnabled является необязательным. Если PstnDialOutEnabled параметр не указан, значение по умолчанию для PstnDialOutEnabled имеет значение 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);

Найдите CommunicationIdentityClient здесь

Обновление комнаты

Чтобы обновить validFrom параметры и validUntil комнаты, используйте updateRoom метод .

Начиная с выпуска 1.1.0, добавляется свойство для PstnDialOutEnabled включения или отключения функции коммутируемого номера ТСОП в комнате.

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

Получение комнаты

Чтобы получить комнату, используйте getRoom метод .

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

Перечисление комнат

Выведите список всех помещений listRooms с помощью метода .

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

Добавление или обновление участников

Чтобы добавить новых участников или обновить существующих участников, используйте addOrUpdateParticipants метод .

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

Удаление участников

Чтобы удалить участников, вызовите removeParticipants метод .

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

Получение участников в комнате

Чтобы получить список всех участников в комнате, вызовите 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}.`);
}

Удаление комнаты

Используйте метод для deleteRoom удаления комнаты.

await roomsClient.deleteRoom(room.id);

Устранение неполадок

Ведение журнала

Включение ведения журнала может помочь выявить полезные сведения о сбоях. Чтобы просмотреть журнал HTTP-запросов и ответов, задайте для переменной среды AZURE_LOG_LEVEL значение info. Кроме того, ведение журнала можно включить во время выполнения, вызвав setLogLevel в @azure/logger:

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

Более подробные инструкции по включению журналов см. в документации по пакету @azure и средства ведения журнала.

Дальнейшие действия

Подробные примеры использования этой библиотеки см. в каталоге примеров .

Участие

Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.

Просмотры