Udostępnij za pośrednictwem


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

Wymagania wstępne

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 participantsparametru , 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.

Wrażenia