Biblioteka klienta usługi Azure RoomsApi dla języka JavaScript — wersja 1.1.1
Ten pakiet zawiera izomorficzny zestaw SDK (działa zarówno w Node.js, jak i w przeglądarkach) dla klienta usługi Azure RoomsApi.
Klient pokoi komunikacyjnych
Przykłady
Wprowadzenie
Obecnie obsługiwane środowiska
- wersje Node.js LTS
- Najnowsze wersje przeglądarek Safari, Chrome, Edge i Firefox.
Warunki wstępne
- Subskrypcja platformy Azure .
- Istniejący zasób usług komunikacyjnych. Jeśli musisz utworzyć zasób, możesz użyć Azure Portal, [Azure PowerShell][azure_powershell] lub interfejsu wiersza polecenia platformy Azure .
Pakiet JavaScript
Aby użyć tej biblioteki klienta w przeglądarce, najpierw należy użyć pakietu. Aby uzyskać szczegółowe informacje o tym, jak to zrobić, zapoznaj się z naszą dokumentacją dotyczącą tworzenia pakietów .
Instalowanie
npm install @azure/communication-rooms
Kluczowe pojęcia
RoomsApiClient
RoomsClient
jest podstawowym interfejsem dla deweloperów korzystających z biblioteki klienta usługi Azure RoomsApi. Zapoznaj się z metodami tego obiektu klienta, aby zrozumieć różne funkcje usługi Azure RoomsApi, do których można uzyskać dostęp.
Przykłady
Uwierzytelnianie
Klucz i/lub parametry połączenia można uzyskać z zasobu usług Communication Services w Witrynie Azure Portal. Po utworzeniu klucza możesz uwierzytelnić RoomsClient
przy użyciu dowolnej z następujących metod:
Tworzenie KeyCredential
przy użyciu AzureKeyCredential
przed zainicjowaniem klienta
import { AzureKeyCredential } from "@azure/core-auth";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new AzureKeyCredential(KEY);
const client = new RoomsClient(ENDPOINT, credential);
Używanie parametrów połączenia
import { RoomsClient } from "@azure/communication-rooms";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);
Używanie TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new DefaultAzureCredential();
const client = new RoomsClient(ENDPOINT, credential);
Jeśli używasz klucza do inicjowania klienta, musisz również podać odpowiedni punkt końcowy. Ten punkt końcowy można uzyskać z zasobu usług Komunikacyjnych w witrynie Azure Portal.
Zwyczaj
Tworzenie pokoju
Aby utworzyć pomieszczenie, wywołaj metodę createRoom
. Wszystkie ustawienia są opcjonalne.
Jeśli validFrom
nie zostanie podana, zostanie ona domyślnie ustawiona na bieżącą datę/godzinę. Jeśli validUntil
nie zostanie podana, wartość domyślna to validFrom + 180 days
.
Podczas definiowania participants
, jeśli role
nie zostanie określona, zostanie ona domyślnie attendee
.
Począwszy od wersji 1.1.0, właściwość PstnDialOutEnabled
jest dodawana do włączania lub wyłączania funkcji wybierania numeru PSTN w pokoju.
PstnDialOutEnabled
jest opcjonalną właściwością. Jeśli PstnDialOutEnabled
nie zostanie podana, wartość domyślna dla PstnDialOutEnabled
to fałsz.
// 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);
Find CommunicationIdentityClient tutaj
Aktualizowanie pokoju
Aby zaktualizować ustawienia validFrom
i validUntil
pomieszczenia, użyj metody updateRoom
.
Począwszy od wersji 1.1.0, właściwość PstnDialOutEnabled
jest dodawana do włączania lub wyłączania funkcji wybierania numeru PSTN w pokoju.
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);
Uzyskiwanie pokoju
Aby uzyskać pokój, użyj metody getRoom
.
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
Wyświetlanie listy pomieszczeń
Wyświetl listę wszystkich pomieszczeń przy użyciu metody listRooms
.
const roomsList = await roomsClient.listRooms();
for await (const currentRoom of roomsList) {
// access room data
console.log(`The room id is ${currentRoom.id}.`);
}
Dodawanie lub aktualizowanie uczestników
Aby dodać nowych uczestników lub zaktualizować istniejących uczestników, użyj metody 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);
Usuwanie uczestników
Aby usunąć uczestników, wywołaj metodę removeParticipants
.
const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);
Pobieranie uczestników w pokoju
Aby wyświetlić listę wszystkich uczestników w pokoju, wywołaj metodę 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}.`);
}
Usuwanie pokoju
Użyj metody deleteRoom
, aby usunąć pomieszczenie.
await roomsClient.deleteRoom(room.id);
Rozwiązywanie problemów
Wyrąb
Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań i odpowiedzi HTTP, ustaw zmienną środowiskową AZURE_LOG_LEVEL
na info
. Alternatywnie rejestrowanie można włączyć w czasie wykonywania, wywołując setLogLevel
w @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Aby uzyskać bardziej szczegółowe instrukcje dotyczące włączania dzienników, zapoznaj się z dokumentami dotyczącymi pakietów @azure/rejestratora.
Następne kroki
Zapoznaj się z przykładami katalogu, aby zapoznać się ze szczegółowymi przykładami dotyczącymi korzystania z tej biblioteki.
Przyczyniając się
Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik dotyczący współtworzenia , aby dowiedzieć się więcej na temat tworzenia i testowania kodu.
Powiązane projekty
- zestaw SDK platformy Microsoft Azure dla języka JavaScript
Azure SDK for JavaScript