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í
Začínáme
Aktuálně podporovaná prostředí
- LTS verze Node.js
- Nejnovější verze Safari, Chrome, Edge a Firefox.
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.
Související projekty
Azure SDK for JavaScript