次の方法で共有


JavaScript 用 Azure RoomsApi クライアント ライブラリ - バージョン 1.1.1

このパッケージには、Azure RoomsApi クライアント用の同型 SDK (Node.js とブラウザーの両方で実行されます) が含まれています。

Communication Rooms クライアント

ソース コード | パッケージ (NPM) | サンプル

はじめ

現在サポートされている環境

  • Node.js の LTS バージョンを する
  • Safari、Chrome、Edge、Firefox の最新バージョン。

前提 条件

JavaScript バンドル

ブラウザーでこのクライアント ライブラリを使用するには、まず、バンドルを使用する必要があります。 これを行う方法の詳細については、バンドルドキュメントを参照してください。

装着

npm install @azure/communication-rooms

主な概念

RoomsApiClient

RoomsClient は、Azure RoomsApi クライアント ライブラリを使用する開発者向けの主要なインターフェイスです。 このクライアント オブジェクトのメソッドを調べて、アクセスできる Azure RoomsApi サービスのさまざまな機能を理解します。

認証

Azure Portalで Communication Services リソースからキーや接続文字列 取得できます。 キーを取得したら、次のいずれかの方法で RoomsClient を認証できます。

クライアントを初期化する前に、AzureKeyCredential を使用して KeyCredential を作成する

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

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

接続文字列の使用

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

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

TokenCredential の使用

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

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

キーを使用してクライアントを初期化する場合は、適切なエンドポイントを指定する必要もあります。 このエンドポイントは、Azure PortalCommunication Services リソースから取得できます。

使い

部屋を作成する

ルームを作成するには、createRoom メソッドを呼び出します。 すべての設定は省略可能です。

validFrom が指定されていない場合は、既定で現在の datetime に設定されます。 validUntil が指定されていない場合、既定値は validFrom + 180 daysです。

participantsを定義するときに、role が指定されていない場合は、既定で attendee されます。

1.1.0 リリース以降、ルームで PSTN ダイヤルアウト機能を有効または無効にするために、PstnDialOutEnabled プロパティが追加されました。 PstnDialOutEnabled は省略可能なプロパティです。 PstnDialOutEnabled が指定されていない場合、PstnDialOutEnabled の既定値は 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);

で CommunicationIdentityClient を検索する

会議室を更新する

会議室の validFromvalidUntil の設定を更新するには、updateRoom メソッドを使用します。

1.1.0 リリース以降、ルームで PSTN ダイヤルアウト機能を有効または無効にするために、PstnDialOutEnabled プロパティが追加されました。

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

部屋を取得する

部屋を取得するには、getRoom メソッドを使用します。

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

会議室を一覧表示する

listRooms メソッドを使用して、すべての部屋を一覧表示します。

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

参加者を追加または更新する

新しい参加者を追加したり、既存の参加者を更新したりするには、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);

参加者を削除する

参加者を削除するには、removeParticipants メソッドを呼び出します。

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

会議室の参加者を取得する

ルーム内のすべての参加者を一覧表示するには、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}.`);
}

会議室を削除する

deleteRoom メソッドを使用して部屋を削除します。

await roomsClient.deleteRoom(room.id);

トラブルシューティング

伐採

ログ記録を有効にすると、エラーに関する有用な情報を明らかにするのに役立つ場合があります。 HTTP 要求と応答のログを表示するには、AZURE_LOG_LEVEL 環境変数を infoに設定します。 または、@azure/loggersetLogLevel を呼び出すことによって、実行時にログを有効にすることもできます。

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

ログを有効にする方法の詳細な手順については、@azure/logger パッケージのドキュメントを参照してください。

次の手順

このライブラリの使用方法の詳細な例については、ディレクトリ サンプルを参照してください。

貢献

このライブラリに投稿する場合は、コードをビルドしてテストする方法の詳細については、投稿ガイド を参照してください。

  • Microsoft Azure SDK for JavaScript の

インプレッション