Microsoft Teams の通話と会議ボットを登録する
音声またはビデオ通話やオンライン会議に参加するボットは、ボットの登録に使用される次の追加機能を備えた通常のMicrosoft Teams ボットです。
- 新しいバージョンのアプリ マニフェスト (以前は Teams アプリ マニフェストと呼ばれる) があり、
supportsCalling
とsupportsVideo
という 2 つの追加設定があります。 これらの設定は 、アプリ マニフェストに含まれています。 - Microsoft Graph アクセス許可は、ボットの Microsoft アプリ ID に対して構成する必要があります。
- Graph 通話とオンライン会議 API のアクセス許可には、テナント管理者の同意が必要です。
新しいアプリ マニフェスト設定
通話とオンライン会議ボットには、 Teams でボットのオーディオまたはビデオを有効にする manifest.json に次の 2 つの追加設定があります。
-
bots[0].supportsCalling
. 存在し、true
に設定されている場合は、 Teams は、ボットが通話やオンライン会議に参加できるようにします。 -
bots[0].supportsVideo
. 存在し、true
に設定されている場合は、ボットがビデオをサポートしていることを Teams が認識します。
IDE でこれらの値について、通話と会議ボットの manifest.json スキーマを適切に検証する場合は、次のように $schema
属性を変更できます。
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
次のセクションでは、新しいボットを作成したり、既存のボットに通話機能を追加したりできます。
新しいボットの作成または通話機能の追加
ボットの作成については、「Teams 用のボットを作成する」を参照してください。
Teams 用の新しいボットを作成するには:
このリンクを使用して、新しいボットを作成します
https://dev.botframework.com/bots/new
。 または、 Bot Framework ポータルで [ ボットの作成 ] ボタンを選択した場合は、 Azure アカウントを持っている必要がある Microsoft Azure でボットを作成します。Teams チャネルを追加します。
チャネル ページの [ 通話 ] タブを選択します。 [ 通話を有効にする ] を選択し、たとえば
https://contoso.com/teamsapp/api/calling
のような、着信通知を受信する HTTPS URL を使用して Webhook (通話用) を更新します。 詳細については、 「チャネルの構成」を参照してください。
次のセクションでは、通話とオンライン会議でサポートされているアプリケーションのアクセス許可の一覧を示します。
Graph にアクセス許可を追加する
Graph は、アプリがリソースに対して持つアクセスを制御するためのきめ細かなアクセス許可を提供します。 アプリが要求する Graph に対するアクセス許可を決定します。 Graph 呼び出し API では、リソース固有の同意 (RSC) のアクセス許可とアプリケーションのアクセス許可がサポートされています。
呼び出しの RSC アクセス許可
RSC は、アプリへのスコープ付きアクセスを許可する Teams と Microsoft ID プラットフォームによって構築された承認フレームワークです。 RSC を使用して、承認されたユーザーは、リソースの種類の特定のインスタンスのデータへのアクセス権をアプリに付与できます。
チャットに会議または通話が関連付けられている場合は、関連する RSC アクセス許可もそれらのリソースに適用されます。
次の表に、呼び出しに対する RSC アプリケーションのアクセス許可を示します。
アクセス許可名 | アクション |
---|---|
Calls.AccessMedia.Chat |
このチャットまたは会議に関連付けられた通話でメディア ストリームにアクセスします。 |
Calls.JoinGroupCalls.Chat |
このチャットまたは会議に関連付けられた通話に参加します。 |
通話に対するアプリケーションのアクセス許可
呼び出しのアプリケーションアクセス許可は、サインインしているユーザーが存在せずに実行されるアプリによって使用されます。 テナント管理者は、アプリケーションのアクセス許可に同意する必要があります。
次の表に、通話に対するアプリケーションのアクセス許可の一覧を示します。
アクセス許可 | 表示文字列 | 説明 | 管理者の同意が必要 |
---|---|---|---|
Calls.Initiate.All | アプリ プレビューからの 1 対 1 通話の発信開始。 | アプリで、サインインしているユーザーがいなくても、1 人のユーザーに発信し、組織のディレクトリ内のユーザーに通話を転送することができるようにします。 | はい |
Calls.InitiateGroupCall.All | アプリ プレビューから発信 1:1 とグループ呼び出しを開始します。 | アプリで、1 人のユーザー、複数のユーザーに送信通話を発信し、通話を転送し、サインインしているユーザーなしで組織内の会議に参加者を追加できるようにします。 | はい |
Calls.JoinGroupCall.All | グループ通話と会議にアプリ プレビューとして参加する。 | アプリで、サインインしているユーザーがいなくても、組織のグループ通話やスケジュールされた会議に参加することができるようにします。 このアプリは、ディレクトリ ユーザーの特権を使用してテナントの会議に参加します。 | はい |
Calls.JoinGroupCallasGuest.All | グループ通話と会議にゲスト プレビューとして参加する。 | アプリで、サインインしているユーザーがいなくても、組織のグループ通話とスケジュールされた会議に匿名で参加することができるようにします。 このアプリは、テナントの会議にゲストとして参加します。 | はい |
Calls.AccessMedia.All | 通話内のメディア ストリームにアプリ プレビューとしてアクセスする。 | アプリで、サインインしているユーザーがいなくても、通話内のメディア ストリームに直接アクセスすることができるようにします。 | はい |
重要
Media Access API を使用して、アプリケーションがアクセスする通話や会議からのメディア コンテンツを記録したり、そのメディア コンテンツの記録やその他の記録からデータを取得したりすることはできません。 最初に updateRecordingStatus
API を呼び出して、記録が開始されたことを示し、その API から成功の応答を受け取る必要があります。 アプリケーションが会議または通話の記録を開始する場合は、 updateRecordingStatus
API を呼び出して記録が終了したことを示す前に記録を終了する必要があります。
オンライン会議のアプリケーションのアクセス許可
次の表に、オンライン会議のアプリケーションのアクセス許可の一覧を示します。
アクセス許可 | 表示文字列 | 説明 | 管理者の同意が必要 |
---|---|---|---|
OnlineMeetings.Read.All | アプリ プレビューからオンライン会議の詳細を読み取る | アプリで、サインインしているユーザーがいなくても、組織内のオンライン会議の詳細を読み取ることができるようにします。 | はい |
OnlineMeetings.ReadWrite.All | ユーザーの代わりにアプリ プレビューが行うオンライン会議の読み取りと作成 | アプリで、サインインしているユーザーがいなくても、ユーザーの代わりに、組織内のオンライン会議を作成することができるようにします。 | はい |
アクセス許可の割り当て
Azure Active Directory (Azure AD) v1 エンドポイントを使用する場合は、Microsoft Azure portal を使用して、ボットのアプリケーションアクセス許可を事前に構成する必要があります。
テナント管理者の同意を取得する
Azure AD v1 エンドポイントを使用するアプリの場合、テナント管理者は、アプリが組織にインストールされている場合、 Microsoft Azure portal を使用してアプリケーションのアクセス許可に同意できます。 または、管理者が構成したアクセス許可に同意できるサインアップ エクスペリエンスをアプリで提供することもできます。 Microsoft Entra ID によって管理者の同意が記録されると、アプリはもう一度同意を要求しなくてもトークンを要求できます。
管理者を使用して、アプリに必要なアクセス許可を Microsoft Azure portal で付与できます。 Azure AD v2 /adminconsent
エンドポイントを使用して、管理者にサインアップ エクスペリエンスを提供することをお勧めします。 詳細については、 管理者の同意 URL を作成する手順に関するページを参照してください。
注:
テナント管理者の同意 URL を構築するには、 アプリ登録ポータル で構成されたリダイレクト URI または応答 URL が必要です。 ボットの応答 URL を追加するには、ボットの登録にアクセスし、[詳細オプション >アプリケーション マニフェストの編集] を選択します。 リダイレクト URL をコレクション replyUrls
に追加します。
重要
アプリケーションのアクセス許可に変更を加える場合は常に、管理者の同意プロセスも繰り返す必要があります。 アプリ登録ポータルで行われた変更は、テナント管理者が同意を再適用するまで反映されません。
コード サンプル
サンプルの名前 | 説明 | .NET |
---|---|---|
通話ボットと会議ボット | サンプル アプリでは、ボットが通話を作成し、会議に参加し、通話を転送する方法を示します。 | 表示 |
リアルタイム会議イベント | サンプル アプリは、Bot がリアルタイムの会議イベントを受信する方法を示しています。 | 表示 |
ステップ バイ ステップのガイド
詳細なガイドに従って、Teams 通話ボットと会議ボットを設定します。
次の手順
関連項目
Platform Docs