Aracılığıyla paylaş


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

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 | Paketi (NPM) | Örnekleri

Başlarken

Şu anda desteklenen ortamlar

  • Node.js LTS sürümleri
  • Safari, Chrome, Edge ve Firefox'un en son sürümleri.

Önkoşullar

  • Azure aboneliği.
  • Mevcut bir İletişim Hizmetleri kaynağı. Kaynağı oluşturmanız gerekiyorsa, Azure Portal, [Azure PowerShell][azure_powershell] veya Azure CLIkullanabilirsiniz.

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ütfenpaketleme belgelerimize bakın.

Yükleme

npm install @azure/communication-rooms

Temel kavramlar

RoomsApiClient

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

Örnekler

Kimlik doğrulama

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

İstemciyi başlatmadan önce AzureKeyCredential ile KeyCredential oluşturma

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

TokenCredential kullanma

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İletişim Hizmetleri kaynağınızdan alabilirsiniz.

Kullanım

Oda oluşturma

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

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

participantstanımlarken, role belirtilmezse varsayılan olarak attendee.

1.1.0 sürümünden başlayarak, bir odada PSTN Dışarı Arama özelliğini etkinleştirmek veya devre dışı bırakmak için PstnDialOutEnabled özelliği eklenir. PstnDialOutEnabled isteğe bağlı bir özelliktir. PstnDialOutEnabled sağlanmazsa, PstnDialOutEnabled için varsayılan 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());
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);

communicationIdentityClient'ı burada

Odayı güncelleştirme

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

1.1.0 sürümünden başlayarak, bir odada PSTN Dışarı Arama özelliğini etkinleştirmek veya devre dışı bırakmak için PstnDialOutEnabled özelliği 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 getRoom yöntemini kullanın.

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

Liste odaları

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

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 addOrUpdateParticipants yöntemini kullanın.

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

Katılımcıları kaldırma

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

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 listParticipants yöntemini çağırın.

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

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

await roomsClient.deleteRoom(room.id);

Sorun giderme

Günlük tutmak

Günlüğe kaydetmeyi etkinleştirmek, hatalarla ilgili yararlı bilgilerin ortaya çıkmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için AZURE_LOG_LEVEL ortam değişkenini infoolarak ayarlayın. Alternatif olarak, @azure/loggersetLogLevel çağrılarak günlükler çalışma zamanında etkinleş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 örnekleri dizinine göz atın.

Katkıda

Bu kitaplığa katkıda bulunmak istiyorsanız kodu oluşturma ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzu okuyun.

  • JavaScript için Microsoft Azure SDK

Gösterimler