Bibliothèque cliente Azure RoomsApi pour JavaScript - version 1.1.0
Ce package contient un KIT de développement logiciel (SDK) isomorphe (s’exécute à la fois dans Node.js et dans les navigateurs) pour le client Azure RoomsApi.
Client Salles de communication
| Code sourcePackage (NPM) | Échantillons
Prise en main
Environnements actuellement pris en charge
- Versions LTS de Node.js
- Dernières versions de Safari, Chrome, Edge et Firefox.
Prérequis
- Un abonnement Azure.
- Une ressource Communication Services existante. Si vous avez besoin de créer la ressource, vous pouvez utiliser le portail Azure, le [Azure PowerShell][azure_powershell] ou Azure CLI.
Ensemble JavaScript
Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus d’informations sur la façon de procéder, reportez-vous à notre documentation sur le regroupement.
Installation de
npm install @azure/communication-rooms
Concepts clés
RoomsApiClient
RoomsClient
est l’interface principale pour les développeurs qui utilisent la bibliothèque cliente Azure RoomsApi. Explorez les méthodes de cet objet client pour comprendre les différentes fonctionnalités du service Azure RoomsApi auquel vous pouvez accéder.
Exemples
Authentification
Vous pouvez obtenir une clé et/ou chaîne de connexion à partir de votre ressource Communication Services dans le portail Azure. Une fois que vous avez une clé, vous pouvez authentifier le avec l’une RoomsClient
des méthodes suivantes :
KeyCredential
Create avec AzureKeyCredential
avant d’initialiser le client
import { AzureKeyCredential } from "@azure/core-auth";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new AzureKeyCredential(KEY);
const client = new RoomsClient(ENDPOINT, credential);
A l'aide d'une chaîne de connexion
import { RoomsClient } from "@azure/communication-rooms";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);
Utilisation d’un TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new DefaultAzureCredential();
const client = new RoomsClient(ENDPOINT, credential);
Si vous utilisez une clé pour initialiser le client, vous devez également fournir le point de terminaison approprié. Vous pouvez obtenir ce point de terminaison à partir de votre ressource Communication Services dans le portail Azure.
Utilisation
Créer une salle
Pour créer une salle, appelez la createRoom
méthode . Tous les paramètres sont facultatifs.
Si validFrom
n’est pas fourni, la valeur par défaut est datetime actuelle. Si validUntil
n’est pas fourni, la valeur par défaut est validFrom + 180 days
.
Lors de la définition participants
de , si role
n’est pas spécifié, il le sera attendee
par défaut.
À compter de la version 1.1.0, PstnDialOutEnabled
une propriété est ajoutée pour activer ou désactiver la fonctionnalité de numérotation RTC dans une salle. PstnDialOutEnabled
est une propriété facultative. Si PstnDialOutEnabled
n’est pas fourni, la valeur par défaut pour PstnDialOutEnabled
est 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);
Recherchez CommunicationIdentityClient ici
Mettre à jour une salle
Pour mettre à jour les validFrom
paramètres et validUntil
d’une salle, utilisez la updateRoom
méthode .
À compter de la version 1.1.0, PstnDialOutEnabled
une propriété est ajoutée pour activer ou désactiver la fonctionnalité de numérotation RTC dans une salle.
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);
Obtenir une salle
Pour obtenir une salle, utilisez la getRoom
méthode .
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
Répertorier les salles
Répertoriez toutes les salles à l’aide de la listRooms
méthode .
const roomsList = await roomsClient.listRooms();
for await (const currentRoom of roomsList) {
// access room data
console.log(`The room id is ${currentRoom.id}.`);
}
Ajouter ou mettre à jour des participants
Pour ajouter de nouveaux participants ou mettre à jour des participants existants, utilisez la addOrUpdateParticipants
méthode .
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);
Supprimer des participants
Pour supprimer des participants, appelez la removeParticipants
méthode .
const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);
Obtenir des participants dans une salle
Pour répertorier tous les participants d’une salle, appelez la listParticipants
méthode .
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}.`);
}
Supprimer une salle
Utilisez la deleteRoom
méthode pour supprimer une salle.
await roomsClient.deleteRoom(room.id);
Résolution des problèmes
Journalisation
L’activation de la journalisation peut vous aider à mieux comprendre les échecs. Pour avoir un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL
sur info
. Vous pouvez également activer la journalisation au moment de l’exécution en appelant setLogLevel
dans @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Pour obtenir des instructions plus détaillées sur l’activation des journaux, consultez les documents relatifs au package @azure/logger.
Étapes suivantes
Consultez le répertoire d’exemples pour obtenir des exemples détaillés sur l’utilisation de cette bibliothèque.
Contribution
Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.
Projets associés
Azure SDK for JavaScript