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
- Node.jsLTS sürümleri
- Safari, Chrome, Edge ve Firefox'un en son sürümleri.
Önkoşullar
- Bir Azure aboneliği.
- Mevcut bir İletişim Hizmetleri kaynağı. Kaynağı oluşturmanız gerekiyorsa Azure Portal'ı, [Azure PowerShell][azure_powershell] veya Azure CLI'yı kullanabilirsiniz.
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 participants
belirtilmezse 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 info
ayarlayın. Alternatif olarak, günlüğü çalışma zamanında içinde çağrılarak setLogLevel
@azure/logger
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 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.
İlgili projeler
Azure SDK for JavaScript