Teams 会話ボットを作成する
Teams 会話ボットを使用すると、ユーザーはテキスト、対話型カード、タスク モジュールを使用して Web サービスと対話できます。 基本的な会話は、Bot Framework コネクタ (単一の REST API) を介して処理されます。 この API を使用すると、ボットは Teams やその他のチャネルと通信できます。 Bot Builder SDK には、次の機能が用意されています。
- Bot Framework コネクタに簡単にアクセスできます。
- 会話のフローと状態を管理するための追加機能。
- 自然言語処理 (NLP) などのコグニティブ サービスを組み込む簡単な方法。
ボットが最初にグループまたはチームに追加されると、概要メッセージが送信されます。 このメッセージでは、ボットの機能とその使用方法について簡単に説明します。
このステップ バイ ステップ ガイドは、Teams アプリケーションで基本的な会話ボットを作成するのに役立ちます。 次の出力が表示されます。
前提条件
開発環境を設定するには、次のツールをインストールします。
- テナントOffice 365
- Ngrok または同等のトンネリング ソリューション
- Visual Studio の最新バージョン
- .NET Core SDK バージョン 3.1
- Microsoft Teams と Teams アカウント
会話ボットを設定する
Azure でボットを開発してホストするときに、ボットを Azure ボット サービスに登録します。 次の手順を実行します。
- ngrok を使用して、Web サーバーのエンドポイントへのトンネルを作成します。
- Azure アカウントでボット チャネル登録を作成します。
- ボットの SSO 認証を有効にするクライアント シークレットを作成します。
- ダウンストリーム呼び出しの API アクセス許可を追加します。
- 作成した ngrok トンネルにメッセージング エンドポイントを追加します。
- Microsoft Teams チャネルを追加して、ボットを Teams チャネルにデプロイします。
ngrok トンネルを作成する
ngrok を使用して、ローカルで実行されている Web サーバーのパブリックに利用可能な HTTPS エンドポイントへのトンネルを作成します。 ngrok で次のコマンドを実行します。
ngrok http -host-header=rewrite 3978
Azure アカウントでボット チャネル登録を作成する
Azure portalにアクセスします。
[リソースの作成] を選択します。
検索ボックスで Azure Bot を検索します。
Azure Bot を選択します。
[作成] を選択します。
[ボット ハンドル] フィールドでボット ハンドル名を入力します。
ドロップダウン リストから [サブスクリプション] を選択します。
ドロップダウン リストから [リソース グループ] を選択します。
新しいリソース グループを作成するには、[ 新規作成] を選択し、リソース名を入力 し、[OK] を 選択し、[ 新しいリソース グループの場所 ] ドロップダウン リストから必要な場所を選択します。
Microsoft アプリ ID の マルチテナント として アプリ種類 を選択します。
注意
[ 作成の種類 ] の [Microsoft アプリ ID] セクションでは、新しいボットを作成するために [ 新しい Microsoft アプリ ID の作成] が既に選択されています。 ボットを既に登録している場合は、[ 既存のアプリの登録を使用 する] を選択することもできます。 [既存のアプリ ID] フィールドに Microsoft アプリ ID を 入力し、[ 既存のアプリ パスワード ] フィールドに値を入力します。
[確認 + 作成] を選びます。
検証に合格した場合は、[ 作成] を選択します。 ボット サービスがプロビジョニングされるまで少し時間がかかります。
[リソースに移動] を選びます。 ボットと関連リソースがリソース グループに一覧表示されます。
これで、Azure ボットが作成されました。
クライアント シークレットを作成するには
[構成設定] で、[追加] を選択します。 将来の参照のために、Microsoft アプリ ID (クライアント ID) を保存します。
Microsoft アプリ ID の横にある [管理] を選択します。
[ クライアント シークレット ] セクションで、[ 新しいクライアント シークレット] を選択します。 [ クライアント シークレットの追加] ウィンドウが表示されます。
[説明] を入力し、[追加] を選択します。
[値] 列で [クリップボードにコピー] を選択し、今後参照できるようにクライアント シークレット ID を保存します。
ダウンストリーム呼び出しの API アクセス許可を追加するには
ボットの [管理 ] ウィンドウで、[ API アクセス許可] を選択します。
[アクセス許可を追加] を選択します。 [要求 API のアクセス許可 ] ウィンドウが表示されます。
Microsoft API を 選択し、Microsoft Graph を選択します。
[アプリケーションのアクセス許可] を選択し、アクセス許可を選択します。
たとえば、
User.Readアプリで必要なユーザーアクセス許可をダウンストリーム API に追加します。[アクセス許可の追加] を選択します。
メッセージング エンドポイントを追加するには
ボットの ホーム ページに移動し、左側のウィンドウの [設定] で [構成] を選択します。
ngrok に移動します。
次の図に示すように、HTTPS URL (https から io) をコピーします。
メッセージング エンドポイント で、ngrok から使用できる HTTPS URL を追加し、URL の最後に /api/messages を追加します。
[適用] を選択します。
Microsoft Teams チャネルを追加するには
[ホーム] に移動します。
[ 最近使ったリソース ] セクションで、ボットを開きます。
左側のウィンドウで [チャネル] を選択し、Microsoft Teams を選択します。
使用可能なチャネルの一覧から選択できます。
サービス利用規約に同意するチェック ボックスをオンにし、[承諾する] を選択します。
[保存] を選択します。
Azure Bot Serviceでボットを正常に設定したので、ボット サービス接続を設定する必要があります。
ボット サービス接続を設定する
Microsoft Teams で会話ボットを認証し、Teams アプリ パッケージを作成して組織にアップロードする方法を理解するようにボット サンプルを構成します。
- Visual Studio で appsettings.json を更新します。
- Visual Studio で manifest.json を更新し、エクスプローラーの zip ファイルに圧縮します。
- Visual Studio でソリューションを実行します。
- ボットを Teams にアップロードします。
会話ボットの appsettings を更新する
リポジトリ https://github.com/Microsoft/botbuilder-samples.gitに移動します。
[ コード ] を選択し、ドロップダウンを選択します。
[ ZIP のダウンロード] を選択します。
ダウンロードしたリポジトリのパスを書き留めます。
エクスプローラー で、botbuilder-samples サンプル > > csharp_dotnetcore > 57.teams-conversation-bot に移動します。
Visual Studio で appsettings.json ファイルを開き、ボットの構成を更新します。
ボット名を追加します
MicrosoftAppType。ボットの
MicrosoftAppId構成ページから取得できます。 以前MicrosoftAppPasswordに保存したクライアント シークレット ID の値です。Teams へのログインに
MicrosoftAppTenantId使用するアカウントのリンクから取得またはUserId取得できます。 イメージ内のパスに従って、次のtenant idリンクを取得します。
URL からテナント ID をコピーします。
[保存] を選択します。
マニフェストを更新するには
エクスプローラー で、botbuilder-samples サンプル > > csharp_dotnetcore > 57.teams-conversation-bot > TeamsAppManifest に移動します。
Visual Studio で manifest.json ファイルを開きます。
manifest.json ファイルで 、{id}、{botId} を見つけて、Microsoft アプリ ID を追加します。
除外して保存する validDomains
https://に ngrok URL を追加します。
TeamsAppManifest フォルダーの内容を zip 化して 、manifest.zip 作成します。
注意
その
manifest.zip中に追加のフォルダーを含めてはなりません。 zip フォルダー内にはmanifest json、ソース ファイル、colorアイコン、アイコンoutlineが含まれている必要があります。 Visual Studio でソリューションを実行し、組織または Teams アカウントのデモ テナントにマニフェストをアップロードします。
Visual Studio でソリューションを実行するには
Visual Studio を開きます。
[ファイル] を 選択し、[開く] を選択します。
プロジェクト/ソリューション を選択して、エクスプローラーからファイルを開きます
.csproj。botbuilder-samples サンプル > > csharp_dotnetcore > 57.teams-conversation-bot に移動します。
ファイルを選択
TeamsConversationBot.csprojし、 スタートアップ プロジェクト の一覧からボットを選択します。
F5 を選択してデバッグします。 ボットの準備ができたら、確認画面が表示されます。
Teams にアプリをアップロードするには
Teams に移動します。
manifest.zip をアップロードするには、ストア > [アプリの管理] >カスタム アプリをアップロード するを選択し、エクスプローラーのリポジトリから manifest.zip を開きます。
[ 追加] を選択して、Teams に会話ボットをインストールします。
このボットを操作できるようになりました。
会話ボットとの対話
Teams でボットを操作するには、メッセージを送信するか、コマンド リストからコマンドを選択します。 ボットは次の文字列に応答します。
Teams の左側のウィンドウで省略記号 ●●●を選択し、一覧からアプリを選択します。 ボットには、次のような 提案が表示されます 。
コマンド リストからオプションを選択するには、作成メッセージ領域に @TeamsConversationBot を入力し、作成領域の上に 何を入力すればよいですか ?
おめでとうございます。
Microsoft Teams 用の会話ボットの使用を開始するためのチュートリアルを完了しました。
このセクションに問題がある場合 このセクションを改善できるよう、フィードバックをお送りください。