Aracılığıyla paylaş


JavaScript için Azure RoomsApi istemci kitaplığı - sürüm 1.1.0

Bu paket, Azure RoomsApi istemcisi için bir izomorfik SDK (hem Node.js hem de tarayıcılarda çalışır) içerir.

İletişim Odaları İstemcisi

Kaynak kodu | Paket (NPM) | Örnekleri

Başlarken

Şu anda desteklenen ortamlar

Önkoşullar

JavaScript Paketi

Bu istemci kitaplığını tarayıcıda kullanmak için önce bir paketleyici kullanmanız gerekir. Bunun nasıl yapılacağının ayrıntıları için lütfen paketleme belgelerimize bakın.

Yükleme

npm install @azure/communication-rooms

Önemli kavramlar

RoomsApiClient

RoomsClient , Azure RoomsApi istemci kitaplığını kullanan geliştiriciler için birincil arabirimdir. Azure RoomsApi hizmetinin erişebileceğiniz farklı özelliklerini anlamak için bu istemci nesnesinde yöntemleri keşfedin.

Örnekler

Kimlik Doğrulaması

Azure Portal'daki İletişim Hizmetleri kaynağınızdan bir anahtar ve/veya bağlantı dizesi alabilirsiniz. Bir anahtarınız olduğunda, aşağıdaki yöntemlerden herhangi biriyle kimliğini doğrulayabilirsiniz RoomsClient :

KeyCredential İstemciyi başlatmadan önce ile İçerik Oluşturucu AzureKeyCredential

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

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

bağlantı dizesi kullanma

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

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

Bir TokenCredential

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

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

İstemciyi başlatmak için bir anahtar kullanırsanız uygun uç noktayı da sağlamanız gerekir. Bu uç noktayı Azure Portal'daki İletişim Hizmetleri kaynağınızdan alabilirsiniz.

Kullanım

Oda İçerik Oluşturucu

Oda oluşturmak için yöntemini çağırın createRoom . Tüm ayarlar isteğe bağlıdır.

validFrom Sağlanmazsa, varsayılan olarak geçerli tarih saat olarak ayarlanır. Sağlanmazsa validUntil , varsayılan değer olur validFrom + 180 days.

tanımlarken participantsbelirtilmezse role , varsayılan olarak olacaktır attendee .

1.1.0 sürümünden itibaren, PstnDialOutEnabled bir odada PSTN Dışarı Arama özelliğini etkinleştirmek veya devre dışı bırakmak için özellik eklenir. PstnDialOutEnabled isteğe bağlı bir özelliktir. Sağlanmazsa PstnDialOutEnabled için varsayılan PstnDialOutEnabled değer false olur.

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

CommunicationIdentityClient'ı burada bulabilirsiniz

Odayı güncelleştirme

Bir odanın ve ayarlarını güncelleştirmek validFrom için yöntemini kullanınupdateRoom.validUntil

1.1.0 sürümünden itibaren, PstnDialOutEnabled bir odada PSTN Dışarı Arama özelliğini etkinleştirmek veya devre dışı bırakmak için özellik eklenir.

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

Bir oda edinin

Oda almak için yöntemini kullanın getRoom .

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

Liste odaları

yöntemini kullanarak tüm odaları listeleyin listRooms .

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

Katılımcı ekleme veya güncelleştirme

Yeni katılımcılar eklemek veya mevcut katılımcıları güncelleştirmek için yöntemini kullanın addOrUpdateParticipants .

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

Katılımcıları kaldırma

Katılımcıları kaldırmak için yöntemini çağırın removeParticipants .

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

Katılımcıları bir odaya alma

Odadaki tüm katılımcıları listelemek için yöntemini çağırın 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}.`);
}

Odayı silme

deleteRoom Bir odayı silmek için yöntemini kullanın.

await roomsClient.deleteRoom(room.id);

Sorun giderme

Günlüğe Kaydetme

Günlüğe kaydetmenin etkinleştirilmesi hatalarla ilgili yararlı bilgilerin ortaya çıkarılmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için ortam değişkenini AZURE_LOG_LEVEL olarak infoayarlayın. Alternatif olarak, günlüğü çalışma zamanında içinde çağrılarak setLogLevel@azure/loggeretkinleştirilebilir:

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

Günlükleri etkinleştirme hakkında daha ayrıntılı yönergeler için @azure/günlükçü paketi belgelerine bakabilirsiniz.

Sonraki adımlar

Bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.

Katkıda bulunma

Bu kitaplığa katkıda bulunmak isterseniz, kodu derleme ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.

İzlenimler