Udostępnij za pośrednictwem


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ładykodu źródłowegoPackage (NPM)

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.

wrażenia