Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Kapcsolódó projektek
Azure SDK for JavaScript