Biblioteka klienta usługi Azure RoomsApi dla języka JavaScript — wersja 1.1.0
Ten pakiet zawiera izomorficzny zestaw SDK (uruchamiany zarówno w Node.js, jak i w przeglądarkach) dla klienta usługi Azure RoomsApi.
Klient pokoi komunikacyjnych
Kod | źródłowyPakiet (NPM) | Próbki
Wprowadzenie
Obecnie obsługiwane środowiska
- Wersje ltS Node.js
- Najnowsze wersje przeglądarek Safari, Chrome, Edge i Firefox.
Wymagania wstępne
- Subskrypcja platformy Azure.
- Istniejący zasób usług komunikacyjnych. Jeśli musisz utworzyć zasób, możesz użyć witryny Azure Portal, [Azure PowerShell][azure_powershell] lub interfejsu wiersza polecenia platformy Azure.
Pakiet JavaScript
Aby użyć tej biblioteki klienta w przeglądarce, najpierw musisz użyć pakietu. Aby uzyskać szczegółowe informacje na temat tego, 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 Azure RoomsApi. Zapoznaj się z metodami w tym obiekcie klienta, aby zrozumieć różne funkcje usługi Azure RoomsApi, do których możesz uzyskać dostęp.
Przykłady
Authentication
Klucz i/lub parametry połączenia można uzyskać z zasobu usługi Communication Services w witrynie Azure Portal. Po utworzeniu klucza możesz uwierzytelnić element RoomsClient
przy użyciu dowolnej z następujących metod:
KeyCredential
Twórca przed AzureKeyCredential
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);
Korzystanie z parametry połączenia
import { RoomsClient } from "@azure/communication-rooms";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);
Korzystanie z elementu 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 Communication Services w witrynie Azure Portal.
Użycie
Twórca pokoju
Aby utworzyć pokój, 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
parametru , jeśli role
nie zostanie określony, zostanie attendee
on domyślnie określony.
Począwszy od wersji 1.1.0, PstnDialOutEnabled
właściwość jest dodawana do włączania lub wyłączania funkcji wybierania numeru PSTN w pokoju. Jest PstnDialOutEnabled
to właściwość opcjonalna. Jeśli PstnDialOutEnabled
nie zostanie podana wartość domyślna, to wartość domyślna PstnDialOutEnabled
to 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);
Znajdź element CommunicationIdentityClient tutaj
Aktualizowanie pokoju
Aby zaktualizować validFrom
ustawienia i validUntil
pomieszczenia, użyj updateRoom
metody .
Począwszy od wersji 1.1.0, PstnDialOutEnabled
właściwość 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 getRoom
metody .
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
Wyświetlanie listy pomieszczeń
Wyświetl listę wszystkich pomieszczeń przy użyciu listRooms
metody .
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 addOrUpdateParticipants
metody .
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);
Usuwanie uczestników
Aby usunąć uczestników, wywołaj metodę removeParticipants
.
const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);
Uzyskiwanie 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
deleteRoom
Użyj metody , aby usunąć pokój.
await roomsClient.deleteRoom(room.id);
Rozwiązywanie problemów
Rejestrowanie
Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań HTTP i odpowiedzi, ustaw zmienną AZURE_LOG_LEVEL
środowiskową na info
. Możesz też włączyć rejestrowanie w czasie wykonywania, wywołując polecenie w elemecie setLogLevel
@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 pakietu @azure/rejestratora.
Następne kroki
Zapoznaj się z katalogiem samples , aby uzyskać szczegółowe przykłady dotyczące sposobu korzystania z tej biblioteki.
Współtworzenie
Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik współtworzenia , aby dowiedzieć się więcej na temat sposobu kompilowania i testowania kodu.
Powiązane projekty
Azure SDK for JavaScript