Teams の通話と会議ボット
通話ボットと会議ボットは、クラウド通信 API Graph APIを統合することで、通話の作成、通話への参加、通話の転送またはリダイレクト、スケジュールされた会議への参加、参加者の招待などの基本的な機能を提供します。
ボットは、リアルタイムの音声、ビデオ、画面共有を使用して Teams の通話や会議と対話できます。 通話とオンライン会議用の Microsoft Graph API を使用して、Teams アプリは音声とビデオを使用してユーザーと対話し、エクスペリエンスを強化しました。 これらの API を使用すると、次の新機能を追加できます:
- 対話型音声応答 (IVR)。
- 通話コントロール。
- デスクトップとアプリの共有を含むリアルタイムのオーディオストリームとビデオ ストリームへのアクセス。
ボットを作成し、Teams アプリでこれらの Graph API を使用するための追加情報とアクセス許可を指定します。
このステップ バイ ステップ ガイドは、通話機能と会議機能を備えたボットを作成するのに役立ちます。 このチュートリアルの終わりまでに、次の出力を実現できます。

前提条件
次のツールをインストールし、開発環境を設定してください。
- テナントOffice 365
- Ngrok または同等のトンネリング ソリューション
- Visual Studio 2019
- .NET Core SDK バージョン 3.1
- アカウントを持つ Microsoft Teams (ゲスト アカウントではありません)
- すべてのコマンドを実行してWindows PowerShellをインストールする
通話と会議ボットのセットアップ
アプリの Microsoft Azure portalでアプリ登録を使用してアプリケーションを登録し、Microsoft ID プラットフォームと統合して Microsoft Graph を呼び出します。 次の操作を実行します。
- ngrok を使用して、Web サーバーのエンドポイントへのトンネルを作成します。
- Azure bot リソースを作成して、Azure Bot Serviceにボットを登録します。
- ボットの SSO 認証を有効にするクライアント シークレットを作成します。
- PowerShell を使用してオンライン会議を作成するためのデモ テナント ユーザーのポリシーを作成します。
- ダウンストリーム呼び出しの API アクセス許可を追加します。
- Azure アカウントでボット チャネル登録を作成します。
- Microsoft Teams チャネルを追加して、ボットを Teams チャネルにデプロイします。
- 作成した ngrok トンネルにメッセージング エンドポイントを追加します。
ngrok トンネルを作成する:
ngrok を使用して、ローカルで実行されている Web サーバーのパブリックに利用可能な HTTPS エンドポイントへのトンネルを作成します。 ngrok で次のコマンドを実行します。
ngrok http -host-header=rewrite 3978
Azure にアプリを登録する:
個人用 Microsoft アカウントを使用してAzure portalにサインインします。
Azure Active Directory サービスを選択し、左側のウィンドウ でアプリの登録 を選択し、[新しい登録] を選択します。
アプリケーションの登録ページが 開きます。 アプリケーションの登録情報を入力します。
アプリのユーザーに表示されるわかりやすいアプリケーション名を入力 します 。
[サポートされているアカウントの種類] で、アプリケーションでサポートするアカウントを選択します。
[ リダイレクト URI (省略可能)] フィールドで、アプリ Web またはパブリック クライアント (モバイル & デスクトップ) の種類を選択し、アプリケーションのリダイレクト URI を入力します。
注意
Web アプリケーションの場合は、ベース URI を
http://localhost:31544. パブリック クライアント アプリケーションの場合は、Azure AD がトークン応答を返すために使用する URI を次のようにmyapp://auth指定します。[登録] を選択します。
クライアント シークレットを作成するには:
ボットの [概要] ページで[ 要点 ] を選択し、将来の参照のために アプリケーション クライアント ID (Microsoft アプリ ID) を保存します。
[ 管理] で[ 証明書&シークレット ] セクションを選択し、[ クライアント シークレット ] を選択し、[ 新しいクライアント シークレット] を選択します。 [ クライアント シークレットの追加] ウィンドウが表示されます。
[説明] を入力し、[追加] を選択します。
[値] の列で、[クリップボードにコピー] を選択し、将来参照できるようにクライアント シークレット ID を保存します。
PowerShell スクリプトを実行してポリシーを作成します。
次の PowerShell スクリプトを使用して、オンライン会議を作成するためのデモ テナント ユーザーのポリシーを作成します。
注意
管理者として PSI Windows PowerShell実行し、スクリプトを実行します。
ボットの Microsoft アプリ ID に置き換え、
object-idTeams へのログインに使用するアカウントの テナント ID に置き換えますazure-client-id(次の図に示すようにリンクをコピーすると、取得したリンクで Teams アカウントのテナント ID を確認できます)。
PowerShell スクリプトに 、
azure-client-id、、policy-description、object-idを追加PolicyNameします。 PowerShell のプロンプトが表示されたら、Teams アカウントでログインします。
PowerShell で次のコマンドを実行して、ポリシーが正常に作成されているかどうかを確認します。 ポリシー名を定義済みのポリシー名に置き換えます。
Get-CsApplicationAccessPolicy -Identity “<<policy-identity/policy-name>>”
ダウンストリーム呼び出しに対する API アクセス許可を追加するには、
注意
アカウントが Microsoft の管理者の同意を付与できることを確認します。 アクセス許可を追加した後、同意の状態を確認する場合に選択します Grant admin consent for Microsoft 。
ボットの [管理 ] ウィンドウで、[ API アクセス許可] を選択します。
[アクセス許可を追加] を選択します。 [要求 API のアクセス許可 ] ウィンドウが表示されます。
Microsoft API を 選択し、Microsoft Graph を選択します。
[アプリケーションのアクセス許可] を選択し、アクセス許可を選択します。
Azure アプリに次のGraph APIアプリケーションのアクセス許可を追加し、管理者の同意を付与します。
Calls.AccessMedia.AllCalls.Initiate.AllCalls.InitiateGroupCall.AllCalls.JoinGroupCall.AllCalls.JoinGroupCallAsGuest.AllOnlineMeetings.ReadWrite.All
[アクセス許可の追加] を選択します。
Azure アカウントでボット チャネル登録を作成する:
Azure portalを開きます。
[リソースの作成] を選択します。
検索ボックスで Azure Bot を検索します。
Azure Bot を選択します。
[作成] を選択します。
[ボット ハンドル] フィールドでボット ハンドル名を入力します。
ドロップダウン リストから [サブスクリプション] を選択します。
ドロップダウン リストから [リソース グループ] を選択します。
新しいリソース グループを作成するには、[ 新規作成] を選択し、リソース名を入力 し、[OK] を 選択し、[ 新しいリソース グループの場所 ] ドロップダウン リストから必要な場所を選択します。
Microsoft アプリ ID の マルチテナント として アプリ種類 を選択します。
注意
Microsoft App ID セクションでは
Creation type、Create new Microsoft App ID新しいボットを作成するために既に選択されています。 ボットを既に登録している場合は、選択Use existing app registrationすることもできます。 フィールドにExisting app idMicrosoft アプリ ID を入力し、フィールドに値をExisting app password入力します。[既存のアプリの登録を使用 する] を選択し、デモ テナントに登録されている Azure アプリのアプリ ID とアプリ シークレット を入力します。
[確認 + 作成] を選びます。
検証に合格した場合は、[作成] を選択します。
ボット サービスがプロビジョニングされるまで少し時間がかかります。
[リソースに移動] を選びます。 ボットと関連リソースがリソース グループに一覧表示されます。
これで、Azure ボットが作成されました。
Microsoft Teams チャネルに追加するには:
[ホーム] に移動します。
[最近使ったリソース] セクションに一覧表示されているボット開きます。
左側のウィンドウで [チャネル] を選択し、Microsoft Teams を選択します。
使用可能なチャネルの一覧から選択できます。
サービス利用規約に同意するチェック ボックスをオンにし、[承諾する] を選択します。
[保存] を選択します。
Microsoft Teams を 選択し、Teams チャネル ページの [通話] タブを選択します。
[ 呼び出しを有効にする] を選択し、HTTPS ngrok URL で Webhook を更新します (https://yourNgrok/api/callback) 最後に追加
/api/callbackします)。
[保存] を選択します。
メッセージング エンドポイントを追加するには:
ボットの ホーム ページに移動し、左側のウィンドウの [設定] で [構成] を選択します。
ngrok に移動します。
次の図に示すように、HTTPS URL (https から io) をコピーします。
メッセージング エンドポイント で、ngrok から使用できる HTTPS URL を追加し、URL の最後に /api/messages を追加します。
[適用] を選択します。
Azure Bot Serviceでボットを正常に設定したので、ボット サービス接続を設定する必要があります。
Teams アプリ パッケージを更新して作成する
Microsoft Teams で会話型ボットを認証し、Teams アプリ パッケージを作成して組織にアップロードする方法を理解するようにボット サンプルを構成します。
- Visual Studio で appsettings.json を更新します。
- Visual Studio で manifest.json を更新し、エクスプローラーで zip ファイルに圧縮します。
Bot を呼び出すための appsettings を更新します。
リポジトリ https://github.com/OfficeDev/Microsoft-Teams-Samples.gitに移動します。
[ コード ] を選択し、ドロップダウンを選択します。
[ ZIP のダウンロード] を選択します。
ダウンロードされたリポジトリのパスを確認してください。
エクスプローラー で、Microsoft-Teams-Samples-main > サンプル > ボット呼び出し会議 > csharp フォルダーに移動します。
Visual Studio で appsettings.json ファイルを開き、ボットの構成を更新します。
ボットの
MicrosoftAppId構成ページから取得できます。 以前MicrosoftAppPasswordに保存したクライアント シークレット ID の値です。Teams へのログインに
Tenant ID使用するアカウントのリンクから取得またはUserId取得できます。 イメージ内のパスに従って、次のtenant idリンクを取得します。
Microsoft Graph Explorer サイトから取得
DisplayName``UserIdできます。- Teams アカウントを使用してページにログインし、検索ボックスに URl の末尾に追加
Usersし、[クエリの 実行] を選択します。 - アカウントにリンクされた表示名とユーザー ID が生成されます。
- 3 つのアカウントを選択し、appsettings.json に追加
DisplayName``UserIdします。
- Teams アカウントを使用してページにログインし、検索ボックスに URl の末尾に追加
注意
Tenant IDまたはUserIdTeams アカウントは通話を開始する場所を示しDisplayName``UserId、ユーザーは通話をリダイレクトまたは転送する相手を示します。、
ClientId``AppIdアプリケーション (クライアント) ID、およびMicrosoftAppPassword``ClientSecret``AppSecretValue に置き換えますMicrosoftAppId。URL を使用して更新
BotBaseUrlしますngrok。更新
Tenant IDとUserId.更新
DisplayNameとUserId.
[保存] を選択します。
マニフェストを更新するには:
エクスプローラー で、Microsoft-Teams-Samples-main > サンプル > ボット呼び出し会議 > csharp > マニフェスト フォルダーに移動します。
manifest.jsonファイルを Visual Studio で開きます。ファイルで
manifest.json{id}、{BotId} を見つけて、Microsoft アプリ ID を追加します。https:// を除く validDomains に ngrok URL を追加して保存します。
作成
manifest.zipするマニフェスト フォルダーの内容を zip 化します。注意
その
manifest.zip中に追加のフォルダーを含めてはなりません。 zip フォルダー内にはmanifest json、ソース ファイル、colorアイコン、アイコンoutlineが含まれている必要があります。 組織または Teams アカウントのデモ テナントにマニフェストをアップロードし、Visual Studio でソリューションを実行します。Teams に移動します。
アップロード
manifest.zipするには、 ストア > [アプリの管理] > [カスタム アプリのアップロード ] を選択し、エクスプローラーのリポジトリ フォルダーから開manifest.zipきます。[ 追加] を選択して、Teams に通話ボットをインストールします。
このボットは、Visual Studio でのデバッグ後に操作できます。
通話ボットと会議ボットとの対話
ボットを使用すると、チャネル内またはチャット内の専用スペース内のサービスやコンテンツにアクセスできます。
ボットを使用するには、次の手順に従います。
Teams の左側のウィンドウで省略記号 ●●● を選択し、一覧からアプリを選択します。
ボットは、次に示すように、アダプティブ カードを含むウェルカム テキストを送信します。
ボットに呼び出しの作成を依頼できます。
ボットに通話の転送を依頼できます。
会議をスケジュールし、参加者を招待するようにボットに依頼できます。
チャレンジを完了する
このようなことを思い付いたのですか?

おめでとうございます。
Microsoft Teams のボット通話と会議アプリの使用を開始するためのチュートリアルを完了しました。
このセクションに問題がある場合 このセクションを改善できるよう、フィードバックをお送りください。