Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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