送信 Webhook を構築する
Webhook は、Microsoft Teams が外部アプリと統合するのに役立ちます。 Teams では、送信 Webhook はボットとして機能し、@メンションを使用してチャネル内のメッセージを検索します。 送信 Webhook を使用すると、ユーザーは、Microsoft Bot Frameworkを介してボットを作成するプロセス全体を実行することなく、Web サービスにメッセージを送信できます。 送信 Webhook は、Teams から JSON ペイロードを受け入れることのできる任意のサービスにデータを投稿します。
送信 Webhook の主な機能
- 任意の外部 Web サービスに通知を送信します。
- カードや画像を含むリッチ テキスト メッセージで応答します。
- 個人用またはプライベートスコープ内ではなく、パブリック チャネルでメッセージを受信します。
- HTTP POST を Web サービスに送信し、応答を取得します。
注:
送信 Webhook は、チーム内のチャネルの名簿やリストを取得するなど、他の API にはアクセスできません。
このステップ バイ ステップ ガイドは、Teams で送信 Webhook を作成するのに役立ちます。 次の出力が表示されます。
前提条件
次のツールをインストールし、開発環境をセットアップしてください。
インストール | 使用するには... | |
---|---|---|
必須 | ||
Microsoft Teams | Microsoft Teams は、チャット、会議、通話、すべてのアプリを通じて作業するすべてのユーザーと 1 か所で共同作業を行います。 | |
Visual Studio 2022 バージョン 17.3 をインストールします。 ASP.NET と Web 開発 ワークロード。 |
Visual Studio 2022 でエンタープライズ バージョンをインストールし、ワークロードをインストールできます。 | |
ngrok | Teams アプリの機能 (会話型ボット、メッセージ拡張機能、受信 Webhook) には、受信接続が必要です。 トンネルは、開発システムを Teams に接続します。 タブのみを含むアプリには必要ありません。 このパッケージはプロジェクト ディレクトリ内にインストールされます (npm devDependencies を使用)。 |
注:
ngrok をダウンロードしたら、サインアップして authtoken をインストールします。
ローカル環境を設定する
リポジトリをローカル GitHub に複製 Microsoft-Teams-Samples
します。
Microsoft Teams サンプルを開きます。
[ コード] を選択します。
ドロップダウン メニューから、[ GitHub Desktop で開く] を選択します。
[ 複製] を選択します。
送信 Webhook を作成する
Microsoft Teams に移動し、左側のウィンドウから [Teams] を選択します。
目的のチームに移動し、[ その他のオプション (••)]、[ チームの管理] の順に選択します。
ナビゲーション バーから [ アプリ ] タブを選択します。
ngrok を使用して、ローカルで実行されている Web サーバーのパブリックに利用可能な HTTPS エンドポイントへのトンネルを作成します。 ngrok で次のコマンドを実行します。
ngrok http --host-header=localhost 3978
ウィンドウの右下隅にある [ 送信 Webhook の作成 ] を選択します。
次の詳細を入力します:
名前: タブ内 @mention の Webhook タイトル。
コールバック URL: JSON ペイロードを受け取り、Teams から POST 要求を受け取る ngrok から生成された URL。 api/Sample または api/authenticatedSample を使用するには、次の操作を行います。
api/sample の場合は、ngrok URL をコピーして貼り付け、/api/sample に追加します。
認証されたサンプルの場合は、ngrok URL をコピーして貼り付け、/authenticatedSample?id=contoso に追加します。
説明: プロファイル カードとチーム レベルのアプリ ダッシュボードに表示される詳細な文字列。
プロファイル画像 (省略可能): Webhook のアプリ アイコン。
[作成] を選択します。 送信 Webhook は、現在のチームのチャネルに追加されます。
Hash-based Message Authentication Code (HMAC)
ダイアログが表示されます。 AuthProvider.cs ファイルのセキュリティ トークンを使用して、Teams と指定された外部サービス間の呼び出しを認証できます。注:
送信 Webhook は、URL が有効で、サーバーとクライアントの認証トークンが等しい場合にのみ、チームのユーザーが使用できます。 たとえば、HMAC ハンドシェイクなどです。
サービスをビルドして実行する
Visual Studio を開きます。
[ファイル>を開く] [プロジェクト/ソリューション] > に移動します。
csharp フォルダーから WebhookSampleBot.sln ファイルを選択します。
AuthProvider.cs ファイルに移動します。 に
M365x712764
更新contoso
し、HMAC を追加します。F5 キーを押してプロジェクトを実行します。
以下のダイアログが表示されたら、[はい] を選択します:
Web ページにローカル ホスト情報が表示されます。
Teams でアプリを操作する
[Teams] に移動し、左側のウィンドウから [Teams] を選択します。
[全般] [新しい会話]> に移動します。
チャネルで送信 Webhook を呼び出すには、@メンション送信 Webhook 名を選択し、[送信] アイコンを選択します。
注:
アダプティブ カード、ヒーロー カード、テキスト メッセージは、送信 Webhook で添付ファイルとして送信できます。
会議チャットに新しいメッセージが表示されます。
課題の完了
このようなものを思いついたのですか?
おめでとうございます。
送信 Webhook アプリの使用を開始するためのチュートリアルを完了しました。
このセクションに問題がある場合 このセクションを改善できるよう、フィードバックをお送りください。
フィードバック
フィードバックの送信と表示