Sdílet prostřednictvím


Klientská knihovna Azure RoomsApi pro JavaScript – verze 1.1.0

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í

Zdrojový kód | Balíček (NPM) | Vzorky

Začínáme

Aktuálně podporovaná prostředí

  • LtS verze Node.js
  • Nejnovější verze prohlížečů Safari, Chrome, Edge a Firefox.

Požadavky

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

JavaScript Bundle

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

Instalace

npm install @azure/communication-rooms

Klíčové koncepty

RoomsApiClient

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

Příklady

Authentication

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

KeyCredential Create před AzureKeyCredential 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í řetězec

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 komunikačních služeb na webu Azure Portal.

Využití

Create místnosti

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

Pokud validFrom není zadaný, je výchozí hodnota aktuálního data a času. Pokud validUntil není k dispozici, výchozí hodnota je validFrom + 180 days.

Pokud při definování participantsrole není zadaný, bude attendee to ve výchozím nastavení.

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

Tady najdete CommunicationIdentityClient.

Aktualizace místnosti

Pokud chcete aktualizovat validFrom nastavení a validUntil místnosti, použijte metodu updateRoom .

Od verze 1.1.0 je přidána vlastnost pro PstnDialOutEnabled 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ískat místnost

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

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

Seznam místností

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

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 stávající účastníky, použijte metodu 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);

Odebrat účastníky

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

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

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

Pokud chcete zobrazit seznam všech účastníků v místnosti, zavolejte 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

deleteRoom Pomocí metody odstraňte místnost.

await roomsClient.deleteRoom(room.id);

Poradce při potížích

protokolování

Povolení protokolování může pomoct odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou AZURE_LOG_LEVEL prostředí na info. Případně je možné 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 balíčkům @azure/protokolovacího nástroje.

Další kroky

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

Přispívání

Pokud chcete přispívat do této knihovny, přečtěte si prosím průvodce přispívání , kde se dozvíte více o tom, jak sestavit a otestovat kód.

Imprese