Partager via


Bibliothèque cliente Azure RoomsApi pour JavaScript - version 1.1.1

Ce package contient un Kit de développement logiciel (SDK) isomorphe (exécuté à la fois dans Node.js et dans les navigateurs) pour le client Azure RoomsApi.

Client salles de communication

exemplesde code sourcepackage NPM (NPM)

Commencer

Environnements actuellement pris en charge

Conditions préalables

  • Un abonnement Azure .
  • Ressource Communication Services existante. Si vous devez créer la ressource, vous pouvez utiliser le portail Azure , le [Azure PowerShell][azure_powershell] ou le Azure CLI.

JavaScript Bundle

Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus d’informations sur la procédure à suivre, reportez-vous à notre documentation de regroupement .

Installation

npm install @azure/communication-rooms

Concepts clés

RoomsApiClient

RoomsClient est l’interface principale pour les développeurs utilisant 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 une chaîne de connexion à partir de votre ressource Communication Services dans portail Azure. Une fois que vous avez une clé, vous pouvez authentifier l'RoomsClient avec l’une des méthodes suivantes :

Créer KeyCredential 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);

Utilisation 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 portail Azure.

Usage

Créer une salle

Pour créer une salle, appelez la méthode createRoom. Tous les paramètres sont facultatifs.

Si validFrom n’est pas fourni, il est défini par défaut sur la datetime actuelle. Si validUntil n’est pas fourni, la valeur par défaut est validFrom + 180 days.

Lorsque vous définissez participants, si role n’est pas spécifié, il sera attendee par défaut.

À compter de la version 1.1.0, PstnDialOutEnabled propriété est ajoutée pour activer ou désactiver la fonctionnalité de numérotation RTC dans une salle. La PstnDialOutEnabled est une propriété facultative. Si PstnDialOutEnabled n’est pas fourni, la valeur par défaut de 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());
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);

Rechercher CommunicationIdentityClient ici

Mettre à jour une salle

Pour mettre à jour les paramètres validFrom et validUntil d’une salle, utilisez la méthode updateRoom.

À compter de la version 1.1.0, PstnDialOutEnabled 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 chambre

Pour obtenir une pièce, utilisez la méthode getRoom.

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

Répertorier les salles

Répertoriez toutes les salles à l’aide de la méthode listRooms.

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 méthode 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);

Supprimer les participants

Pour supprimer les participants, appelez la méthode removeParticipants.

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

Supprimer une salle

Utilisez la méthode deleteRoom pour supprimer une salle.

await roomsClient.deleteRoom(room.id);

Dépannage

Exploitation forestière

L’activation de la journalisation peut vous aider à découvrir des informations utiles sur les échecs. Pour afficher 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 la @azure/logger:

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

Pour obtenir des instructions plus détaillées sur l’activation des journaux, vous pouvez consulter la documentationdu package @azure/enregistreur d’événements.

Étapes suivantes

Consultez les exemples répertoire pour obtenir des exemples détaillés sur l’utilisation de cette bibliothèque.

Contribuant

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.

Impressions