アクティビティ フィード通知の送信
Microsoft Teams アクティビティ フィード通知は、ユーザーが変更を通知することで、注意が必要な項目を評価するのに役立ちます。 アクティビティ フィード通知機能をアプリに拡張するには、Microsoft Graph のアクティビティ フィード通知 API を使用します。
アクティビティ フィードブロードキャストの主な機能は次のとおりです。
- 強化されたエクスペリエンスを提供します。
- ユーザーを最新の状態に保ちます。
- すべてのメンバーのメッセージをブロードキャストします。
- アクティビティ フィード通知を表示します。
- メンバーが利用できるブロードキャストの詳細。
このステップ バイ ステップ ガイドは、アクティビティ フィード通知を使用して、メッセージをブロードキャストし、組織のすべてのメンバーに通知するのに役立ちます。 次の出力を確認できます。
前提条件
次のツールをインストールし、開発環境をセットアップしてください。
インストール | 使用するには... | |
---|---|---|
Visual Studio 2022 | Visual Studio 2022 でエンタープライズ バージョンをインストールし、ASP.NET および Web 開発ワークロードをインストールできます。 最新バージョンを使用します。 | |
.NET Core SDK バージョン 3.1 | ローカル デバッグと Azure Functions アプリのデプロイ用にカスタマイズされたバインド。 最新バージョンを使用するか、移植可能なバージョンをインストールします。 | |
開発トンネル | Teams アプリの機能 (会話型ボット、メッセージ拡張機能、受信 Webhook) には、受信接続が必要です。 トンネルは、開発システムを Teams に接続します。 開発トンネルは、localhost をインターネットに安全に開き、アクセス権を持つユーザーを制御するための強力なツールです。 開発トンネルは、Visual Studio 2022 バージョン 17.7.0 以降で使用できます。 または ngrok をトンネルとして使用して、開発システムを Teams に接続することもできます。 タブのみを含むアプリには必要ありません。 このパッケージは、(npm devDependencies を使用して) プロジェクト ディレクトリ内にインストールされます。 |
注:
ngrok をダウンロードしたら、サインアップして authtoken をインストールします。
次のアカウントがあることを確認し、開発環境を設定します。
- Microsoft アカウント。
- Teams アプリは、受信者に対して、個人的に、またはチームまたはチャットにインストールする必要があります。
- 通知を送受信するためのテナント ID が一致している必要があります。
Teams 開発テナントを設定する
テナントは、Teams でチャット、ファイルの共有、組織の会議の実行を行うスペースやコンテナーのようなものです。 カスタム アプリをアップロードしてテストすることもできます。
カスタム アプリのアップロード オプションを確認する
アプリを作成したら、アプリを配布せずに Teams に読み込む必要があります。 関数はカスタム アプリのアップロードと呼ばれます。 このオプションを表示するには、Microsoft 365 アカウントにサインインします。
注:
Teams ローカル環境でアプリをプレビューおよびテストするために、カスタム アプリのアップロードが必要です。 カスタム アプリのアップロードを有効にして、Teams でアプリをローカルでプレビューしてテストします。
既にテナントがあり、管理者アクセス権がありますか? 実際にあるかどうかを確認しましょう。
Teams でカスタム アップロード アプリを確認するには:
Teams クライアントで、[ アプリ ] アイコンを選択します。
[アプリの管理] を選択します。
[ アプリのアップロード] を選択します。
[カスタム アプリのアップロード] オプションを探します。
注:
カスタム アプリをアップロードできない場合は、Teams 管理者に問い合わせてください。
無料の Teams 開発者テナントを作成する (省略可能)
Teams 開発者アカウントをお持ちでない場合は、無料で取得できます。 Microsoft 365 開発者プログラムに参加します。
Microsoft 365 開発者プログラムに移動します。
[今すぐ参加] を選択し、画面の指示に従います。
ようこそ画面 から [E5 サブスクリプションのセットアップ ] を選択します。
管理者アカウントを設定します。 完了すると、次の画面が表示されます。
新しい管理者アカウントを使用して Teams にサインインします。 [ カスタム アプリのアップロード] を選択できるようになりました。
ローカル環境を設定する
[ コード] を選択します。
ドロップダウン メニューから、[ GitHub Desktop で開く] を選択します。
[ 複製] を選択します。
Microsoft Entra ID を使用して Teams 認証 SSO を登録する
次の手順は、Azure portal で Teams 認証 SSO を作成して登録するのに役立ちます。
- [アプリの登録] で新しいアプリケーションを作成して登録します。
- ngrok を使用して、Web サーバーのエンドポイントへのトンネルを作成します。
アプリの登録を追加する
Azure ポータルに移動します。
[アプリの登録] を選択します。
[ + 新規登録] を選択します。
アプリの名前を入力します。
任意の組織ディレクトリ (任意の Microsoft Entra ID テナント - マルチテナント) で [アカウント] を選択します。
[登録] を選択します。
アプリは Microsoft Entra ID に登録されています。 アプリの概要ページが表示されます。
注:
さらに使用するために 、アプリケーション (クライアント) ID と ディレクトリ (テナント) ID からアプリ ID を 保存します。
トンネルを作成する
Visual Studio を開きます。
[ 新しいプロジェクトの作成] を選択します。
検索ボックスに「ASP.NET」 と入力します。 検索結果から [ ASP.NET Core Web App] を選択します。
[次へ] を選択します。
「プロジェクト名」と入力し、[次へ] を選択します。
[作成] を選択します。
概要ウィンドウが表示されます。
デバッグ ドロップダウン リストで、[Dev Tunnel (アクティブ トンネルなし)]>[トンネルの作成]を選択します。...
ポップアップ ウィンドウが表示されます。
ポップアップ ウィンドウで次の詳細を更新します。
- アカウント: Microsoft または GitHub アカウントを入力します。
- [名前]: トンネルの名前を入力します。
- トンネルの種類: ドロップダウン リストから [ 一時] を選択します。
- アクセス: ドロップダウン リストから [パブリック] を選択 します。
[OK] を選択します。
開発トンネルが正常に作成されたことを示すポップアップ ウィンドウが表示されます。
[OK] を選択します。
作成したトンネルは、次のようにデバッグ ドロップダウン リストにあります。
F5 キーを押して、デバッグ モードでアプリケーションを実行します。
[セキュリティ警告] ダイアログが表示されたら、[はい] を選択します。
ポップアップ ウィンドウが表示されます。
[続行] を選択します。
開発トンネルのホーム ページが新しいブラウザー ウィンドウで開き、開発トンネルがアクティブになりました。
Visual Studio に移動し、[ 表示] > [出力] を選択します。
[出力コンソール] ドロップダウン メニューで、[Dev Tunnels]\(開発トンネル\) を選択します。
出力コンソールには、開発トンネル URL が表示されます。
アプリケーション ID URI の追加
左側のウィンドウの [ 管理] で、[ API の公開] を選択します。
[アプリケーション ID URI] の横にある [追加] を選択します。
アプリケーション ID URI を
api://your-devtunnel-domain/botid-{AppID}
またはapi://your-ngrok-domain/botid-{AppID}
形式で更新し、[保存] を選択します。次の図は、ドメイン名を示しています。
注:
ngrok などのトンネリング サービスを使用している場合は、ngrok サブドメインが更新されるたびに値を更新してください。 たとえば、 api://f631****.ngrok.io/c4e88a5d-e3d4-47f4-accb-0ef9de3bce8a
。ここで、 f631****.ngrok.io
は新しい ngrok サブドメイン名です。
スコープを追加する
左側のウィンドウの [ 管理] で、[ API の公開] を選択します。
[ + スコープの追加] を選択します。
スコープ名として「access_as_user」と入力します。
[ 同意できるユーザー] で、[ 管理者とユーザー] を選択します。
残りのフィールドの値を次のように更新します。
「Teams は管理者の同意表示名としてユーザーのプロファイルにアクセスできます」と入力します。
「Teams でアプリの Web API を現在のユーザーとして管理者の同意の説明として呼び出すことができます」と入力します。
「Teams」と入力すると、ユーザー プロファイルにアクセスし、ユーザーの代わりにユーザーの同意表示名として要求を行うことができます。
ユーザーの同意の説明と同じ権限を持つこのアプリの API を呼び出すには、「Teams を有効にする」と入力します。
[状態] が [有効] に設定されていることを確認してください。
[スコープの追加] を選択します。
次の図は、フィールドと値を示しています。
注:
スコープ名は、最後に追加
/access_as_user
アプリケーション ID URI と一致する必要があります。
クライアント アプリケーションを追加する
左側のウィンドウの [ 管理] で、[ API の公開] を選択します。
[ 承認されたクライアント アプリケーション] で、アプリの Web アプリケーションに対して承認するアプリケーションを特定します。
[ + クライアント アプリケーションの追加] を選択します。
Teams モバイルまたはデスクトップと Teams Web アプリケーションを追加します。
Teams モバイルまたはデスクトップの場合:
1fec8e78-bce4-4aaf-ab1b-5451cc387264
としてクライアント ID を入力します。Teams Web の場合:
5e3ce6c0-2b1f-4285-8d4b-75ee78787346
としてクライアント ID を入力します。
[ 承認されたスコープ ] チェック ボックスをオンにします。
[アプリケーションの追加] を選択します。
次の図は、 クライアント ID を表示します。
API アクセス許可の追加
左側のウィンドウの [ 管理] で、[ API のアクセス許可] を選択します。
[ + アクセス許可の追加] を選択します。
[Microsoft Graph] を選択します。
[委任されたアクセス許可] を選択します。
次のアクセス許可を選択します。
Directory.Read.All
Directory.ReadWrite.All
TeamsActivity.Send
TeamsAppInstallation.ReadForUser
TeamsAppInstallation.ReadWriteForUser
User.Read
注:
利用者。 読み取りは既定で有効になっています。
[アクセス許可の追加] を選択します。
[ + アクセス許可の追加] を選択します。
[Microsoft Graph] を選択します。
[アプリケーションのアクセス許可] を選択します。
次のアクセス許可を選択します。
- Directory.Read.All
- TeamsActivity.Send
- TeamsAppInstallation.ReadForUser.All
[アクセス許可の追加] を選択します。
必要なアクセス許可に対して管理者の同意を付与することを確認します。
必要なアクセス許可に対して管理者の同意を付与することを確認します。
注:
- アプリに IT 管理者の同意が付与されていない場合、ユーザーは初めてアプリを使用する際に同意を提供する必要があります。
- ユーザーは、Microsoft Entra アプリが別のテナントに登録されている場合にのみ、API のアクセス許可に同意する必要があります。
Web 認証を追加する
左側のウィンドウの [ 管理] で、[ 認証] を選択します。
[ プラットフォームの追加>Single-page アプリケーション] を選択します。
完全修飾ドメイン名に
auth-end
を追加して、アプリのリダイレクト URI を入力します。 たとえば、https://your-devtunnel-domain/auth-end
およびhttps://your-ngrok-domain/auth-end
が禁止となります。[ 暗黙的な許可とハイブリッド フロー] で、[ アクセス トークン と ID トークン ] チェック ボックスをオンにします。
[構成] を選択します。
[ Web] で、[ URI の追加] を選択します。
https://token.botframework.com/.auth/web/redirect
を入力します。[保存] を選択します。
クライアント シークレットを作成する
左側のウィンドウの [ 管理] で、[ 証明書 & シークレット] を選択します。
[ クライアント シークレット] で、[ + 新しいクライアント シークレット] を選択します。
[ クライアント シークレットの追加] ウィンドウが表示されます。
「説明」と入力します。
[追加] を選択します。
[ 値] で、[ クリップボードにコピー ] を選択して、クライアント シークレットの値を保存して、さらに使用します。
アプリ設定を設定する
複製されたリポジトリ appsettings.json ファイルに移動します。
最新バージョンの Visual Studio で appsettings.json ファイルを開き、次の情報を更新します。
"MicrosoftAppId"
をボットの Microsoft アプリ ID に設定します。"TenantID"
を [ディレクトリ (テナント) ID] に設定します。"MicrosoftAppPassword"
をボットのクライアント シークレット ID 値に設定します。"BaseUrl"
を[WebAppDomainName]
に設定します。
マニフェスト ファイルを設定する
複製されたリポジトリの manifest.json ファイルに移動します。
最新バージョンの Visual Studio で manifest.json ファイルを開き、次の変更を行います。
<<Microsoft-App-ID>>
のすべての出現箇所をボットの Microsoft アプリ ID に置き換えます。<<Base_URL>>
のすべての出現箇所を完全修飾ドメイン名に置き換えます。[
validDomains
] を [[WebAppDomainName]
] に設定します。
サービスをビルドして実行する
Visual Studio を開きます。
[ファイル>Open>Project/Solution...] に移動します。
csharp フォルダーからActivityFeedBroadcast.sln ファイルを選択します。
[開く]を選択します。
F5 キーを押してプロジェクトを実行します。
以下のダイアログが表示されたら、[はい] を選択します:
Web ページが開き、メッセージが表示され、 ボットの準備ができました。
アクティビティ フィードブロードキャスト アプリを Teams に追加する
複製したリポジトリで、 graph-activity-feed-broadcast>csharp>ActivityFeedBroadcast>AppManifest に移動します。
AppManifest フォルダーに存在する次のファイルを含む .zip ファイルを作成します。
manifest.json
outline.png
color.png
Teams クライアントで、[ アプリ ] アイコンを選択します。
[アプリの管理] を選択します。
[ 組織にアプリを送信する] を選択します。
[ 開く ] を選択して、 AppManifest フォルダーに作成した .zip ファイルをアップロードします。
[追加] を選択します。
Teams でアプリを操作する
Teams でアプリと対話しましょう。
BroadcastTab には、メッセージ タイトルとメッセージの説明が表示されます。
メッセージのタイトルと説明**を入力します。
[ メッセージの送信] を選択します。
正常にブロードキャストされたメッセージが表示されます。
アクティビティ フィード通知は、同じテナント ID を持つ受信者の [ アクティビティ ] タブに表示されます。
メッセージの詳細は、メッセージの選択時に表示されます。
課題の完了
このようなものを思いついたのですか?
おめでとうございます。
アクティビティ フィードブロードキャスト アプリの使用を開始するためのチュートリアルを完了しました。
このセクションに問題がある場合 このセクションを改善できるよう、フィードバックをお送りください。
Platform Docs