Bagikan melalui


Pustaka klien Azure RoomsApi untuk JavaScript - versi 1.1.1

Paket ini berisi SDK isomorphic (berjalan baik di Node.js maupun di browser) untuk klien Azure RoomsApi.

Klien Communication Rooms

SampelPaketKode sumber (NPM)

Persiapan

Lingkungan yang saat ini didukung

Prasyarat

  • Langganan Azure .
  • Sumber daya Communication Services yang ada. Jika Anda perlu membuat sumber daya, Anda dapat menggunakanPortal Azure , [Azure PowerShell][azure_powershell], atau Azure CLI.

Bundel JavaScript

Untuk menggunakan pustaka klien ini di browser, pertama-tama Anda perlu menggunakan bunder. Untuk detail tentang cara melakukan ini, silakan lihat dokumentasi bundling kami.

Menginstal

npm install @azure/communication-rooms

Konsep utama

RoomsApiClient

RoomsClient adalah antarmuka utama untuk pengembang yang menggunakan pustaka klien Azure RoomsApi. Jelajahi metode pada objek klien ini untuk memahami berbagai fitur layanan Azure RoomsApi yang dapat Anda akses.

Contoh

Otentikasi

Anda bisa mendapatkan string kunci dan/atau koneksi dari sumber daya Communication Services Anda di Portal Microsoft Azure. Setelah memiliki kunci, Anda dapat mengautentikasi RoomsClient dengan salah satu metode berikut:

Buat KeyCredential dengan AzureKeyCredential sebelum menginisialisasi klien

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

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

Menggunakan string koneksi

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

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

Menggunakan TokenCredential

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

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

Jika Anda menggunakan kunci untuk menginisialisasi klien, Anda juga perlu menyediakan titik akhir yang sesuai. Anda bisa mendapatkan titik akhir ini dari sumber daya Communication Services Anda di Portal Microsoft Azure.

Penggunaan

Membuat ruangan

Untuk membuat ruangan, panggil metode createRoom. Semua pengaturan bersifat opsional.

Jika validFrom tidak disediakan, validFrom default ke tanggalwaktu saat ini. Jika validUntil tidak disediakan, defaultnya adalah validFrom + 180 days.

Saat menentukan participants, jika role tidak ditentukan, maka attendee secara default.

Mulai rilis 1.1.0, properti PstnDialOutEnabled ditambahkan untuk mengaktifkan atau menonaktifkan fitur PSTN Dial-Out di ruangan. PstnDialOutEnabled adalah properti opsional. Jika PstnDialOutEnabled tidak disediakan, maka default untuk PstnDialOutEnabled adalah 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);

Temukan CommunicationIdentityClient di sini

Memperbarui ruangan

Untuk memperbarui pengaturan validFrom dan validUntil ruangan, gunakan metode updateRoom.

Mulai rilis 1.1.0, properti PstnDialOutEnabled ditambahkan untuk mengaktifkan atau menonaktifkan fitur PSTN Dial-Out di ruangan.

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

Dapatkan kamar

Untuk mendapatkan ruangan, gunakan metode getRoom.

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

Mencantumkan ruang

Cantumkan semua ruang menggunakan metode listRooms.

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

Menambahkan atau memperbarui peserta

Untuk menambahkan peserta baru, atau memperbarui peserta yang sudah ada, gunakan metode 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);

Menghapus peserta

Untuk menghapus peserta, panggil metode removeParticipants.

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

Mendapatkan peserta di ruangan

Untuk mencantumkan semua peserta dalam ruangan, panggil metode 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}.`);
}

Menghapus ruangan

Gunakan metode deleteRoom untuk menghapus ruangan.

await roomsClient.deleteRoom(room.id);

Pemecahan masalah

Penebangan

Mengaktifkan pengelogan dapat membantu mengungkap informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:

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

Untuk instruksi lebih rinci tentang cara mengaktifkan log, Anda dapat melihat dokumen paket @azure/pencatat.

Langkah berikutnya

Silakan lihat sampel direktori untuk contoh terperinci tentang cara menggunakan pustaka ini.

Berkontribusi

Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.

Tayangan