Sdílet prostřednictvím


Klientská knihovna Azure RoomsApi pro JavaScript – verze 1.1.1

Tento balíček obsahuje izomorfní sadu SDK (spouští se v Node.js i v prohlížečích) pro klienta Azure RoomsApi.

Klient komunikačních místností

ukázkybalíčkuzdrojového kódu (NPM)

Začínáme

Aktuálně podporovaná prostředí

Požadavky

  • Předplatné Azure.
  • Existující prostředek komunikační služby. Pokud potřebujete prostředek vytvořit, můžete použítwebu azure Portal , [Azure PowerShell][azure_powershell] nebo Azure CLI.

JavaScript Bundle

Pokud chcete tuto klientskou knihovnu použít v prohlížeči, musíte nejprve použít bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci sdružování.

Instalování

npm install @azure/communication-rooms

Klíčové koncepty

RoomsApiClient

RoomsClient je primárním rozhraním pro vývojáře, kteří používají klientskou knihovnu Azure RoomsApi. Prozkoumejte metody tohoto klientského objektu a seznamte se s různými funkcemi služby Azure RoomsApi, ke kterým máte přístup.

Příklady

Autentizace

Klíč nebo připojovací řetězec můžete získat z prostředku komunikační služby v webu Azure Portal. Jakmile budete mít klíč, můžete ověřit RoomsClient některou z následujících metod:

Vytvoření KeyCredential pomocí AzureKeyCredential před inicializací klienta

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

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

Použití připojovacího řetězce

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

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

Použití TokenCredential

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

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

Pokud k inicializaci klienta použijete klíč, budete také muset zadat příslušný koncový bod. Tento koncový bod můžete získat z prostředku služby Communication Services na webu azure Portal.

Zvyk

Vytvoření místnosti

Pokud chcete vytvořit místnost, zavolejte metodu createRoom. Všechna nastavení jsou volitelná.

Pokud validFrom není k dispozici, je ve výchozím nastavení nastavena na aktuální datum a čas. Pokud validUntil není zadaný, výchozí hodnota je validFrom + 180 days.

Při definování participants, pokud není zadán role, bude ve výchozím nastavení attendee.

Od verze 1.1.0 se přidá PstnDialOutEnabled vlastnost pro povolení nebo zakázání funkce vytáčení veřejné telefonní sítě v místnosti. PstnDialOutEnabled je volitelná vlastnost. Pokud PstnDialOutEnabled není zadaný, je výchozí hodnota pro 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());
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);

Najít CommunicationIdentityClient sem

Aktualizace místnosti

K aktualizaci nastavení validFrom a validUntil místnosti použijte metodu updateRoom.

Od verze 1.1.0 se přidá PstnDialOutEnabled vlastnost pro povolení nebo zakázání funkce vytáčení veřejné telefonní sítě v místnosti.

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

Získání místnosti

K získání místnosti použijte metodu getRoom.

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

Seznam místností

Vypíše všechny místnosti pomocí metody listRooms.

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

Přidání nebo aktualizace účastníků

Pokud chcete přidat nové účastníky nebo aktualizovat existující účastníky, použijte metodu 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);

Odebrání účastníků

Pokud chcete odebrat účastníky, volají metodu removeParticipants.

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

Získání účastníků v místnosti

Pokud chcete zobrazit seznam všech účastníků v místnosti, volejte metodu 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}.`);
}

Odstranění místnosti

K odstranění místnosti použijte metodu deleteRoom.

await roomsClient.deleteRoom(room.id);

Řešení problémů

Protokolování

Povolení protokolování může pomoct odhalit užitečné informace o chybách. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou prostředí AZURE_LOG_LEVEL na info. Případně můžete protokolování povolit za běhu voláním setLogLevel v @azure/logger:

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

Podrobnější pokyny k povolení protokolů najdete v dokumentaci k @azure/protokolovacímu balíčku.

Další kroky

Podrobné příklady použití této knihovny najdete v ukázkách adresáři.

Přispívající

Pokud chcete přispívat do této knihovny, přečtěte si průvodce přispívání a přečtěte si další informace o vytváření a testování kódu.

imprese