Megosztás a következőn keresztül:


Azure RoomsApi-ügyfélkódtár JavaScripthez – 1.1.1-es verzió

Ez a csomag egy izomorf SDK-t tartalmaz (Node.js és böngészőkben egyaránt fut) az Azure RoomsApi-ügyfélhez.

Kommunikációs szobák ügyfélprogramja

forráskód | csomag (NPM) | minták

Kezdetekhez

Jelenleg támogatott környezetek

  • Node.js LTS-verziói
  • A Safari, a Chrome, az Edge és a Firefox legújabb verziói.

Előfeltételek

  • Egy Azure-előfizetés.
  • Egy meglévő Communication Services-erőforrás. Ha létre kell hoznia az erőforrást, használhatja az Azure Portal, az [Azure PowerShell][azure_powershell] vagy az Azure CLI.

JavaScript-csomag

Ahhoz, hogy ezt az ügyfélkódtárat a böngészőben használhassa, először egy kötegelőt kell használnia. Ennek módjáról további információt a csomagküldő dokumentációbantalál.

Telepítése

npm install @azure/communication-rooms

Főbb fogalmak

RoomsApiClient

RoomsClient az Azure RoomsApi ügyfélkódtárat használó fejlesztők elsődleges felülete. Az ügyfélobjektum metódusainak megismerése az Azure RoomsApi szolgáltatás különböző elérhető funkcióinak megismeréséhez.

Példák

Hitelesítés

A Communication Services-erőforrásból kulcs- és/vagy kapcsolati sztringet kérhet le Azure Portal. Miután rendelkezik egy kulccsal, az alábbi módszerekkel hitelesítheti a RoomsClient:

KeyCredential létrehozása AzureKeyCredential az ügyfél inicializálása előtt

import { AzureKeyCredential } from "@azure/core-auth";
import { RoomsClient } from "@azure/communication-rooms";

const credential = new AzureKeyCredential(KEY);
const client = new RoomsClient(ENDPOINT, credential);

Kapcsolati sztring használata

import { RoomsClient } from "@azure/communication-rooms";

const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);

TokenCredential használata

import { DefaultAzureCredential } from "@azure/identity";
import { RoomsClient } from "@azure/communication-rooms";

const credential = new DefaultAzureCredential();
const client = new RoomsClient(ENDPOINT, credential);

Ha egy kulccsal inicializálja az ügyfelet, a megfelelő végpontot is meg kell adnia. Ezt a végpontot a Communication Services-erőforrásból szerezheti be Azure Portal.

Használat

Helyiség létrehozása

Helyiség létrehozásához hívja meg a createRoom metódust. Az összes beállítás megadása nem kötelező.

Ha a validFrom nincs megadva, az alapértelmezett érték az aktuális dátum. Ha validUntil nincs megadva, az alapértelmezett érték validFrom + 180 days.

Ha participantsdefiniál, ha nincs megadva role, akkor alapértelmezés szerint attendee lesz.

Az 1.1.0-s kiadástól kezdve PstnDialOutEnabled tulajdonság hozzáadva a PSTN kitárcsázási funkció engedélyezéséhez vagy letiltásához egy szobában. A PstnDialOutEnabled nem kötelező tulajdonság. Ha PstnDialOutEnabled nincs megadva, akkor a PstnDialOutEnabled alapértelmezett értéke hamis.

// 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);

A CommunicationIdentityClient keresése itt

Helyiség frissítése

Egy helyiség validFrom és validUntil beállításainak frissítéséhez használja a updateRoom metódust.

Az 1.1.0-s kiadástól kezdve PstnDialOutEnabled tulajdonság hozzáadva a PSTN kitárcsázási funkció engedélyezéséhez vagy letiltásához egy szobában.

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);

Szoba lekérése

Szoba beszerzéséhez használja a getRoom metódust.

const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);

Szobák listázása

Az listRooms metódussal listázhatja az összes helyiséget.

const roomsList = await roomsClient.listRooms();
for await (const currentRoom of roomsList) {
  // access room data
  console.log(`The room id is ${currentRoom.id}.`);
}

Résztvevők hozzáadása vagy frissítése

Új résztvevők hozzáadásához vagy meglévő résztvevők frissítéséhez használja a addOrUpdateParticipants metódust.

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);

Résztvevők eltávolítása

A résztvevők eltávolításához hívja meg a removeParticipants metódust.

const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);

Résztvevők lekérése egy szobában

A szoba összes résztvevőjének listázásához hívja meg a listParticipants metódust.

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}.`);
}

Helyiség törlése

A deleteRoom metódussal törölhet egy helyiséget.

await roomsClient.deleteRoom(room.id);

Hibaelhárítás

Fakitermelés

A naplózás engedélyezése segíthet a hibákról szóló hasznos információk feltárásában. A HTTP-kérések és válaszok naplójának megtekintéséhez állítsa a AZURE_LOG_LEVEL környezeti változót info. Másik lehetőségként a naplózás futásidőben is engedélyezhető a setLogLevel meghívásával a @azure/logger:

const { setLogLevel } = require("@azure/logger");
setLogLevel("info");

A naplók engedélyezésére vonatkozó részletesebb útmutatásért tekintse meg a @azure/logger csomag dokumentációit.

Következő lépések

A kódtár használatára vonatkozó részletes példákért tekintse meg a mintákat könyvtárat.

Hozzájárulás

Ha hozzá szeretne járulni ehhez a kódtárhoz, olvassa el a közreműködői útmutatót, amelyből többet is megtudhat a kód összeállításáról és teszteléséről.

benyomások