Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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ütfen
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
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.
İlgili projeler
- JavaScript için Microsoft Azure SDK
Azure SDK for JavaScript