メッセージ拡張機能の検索コマンドを定義する
検索コマンドは、次のいずれかの場所または両方から呼び出されます。
- メッセージ作成領域: 作成メッセージ領域の下部にあるボタン。
- コマンド ボックス: コマンド ボックスで/ を使用します。 たとえば、 /your-app-name です。 従来の Teams を使用している場合は、コマンド ボックスの @mentioning によって検索コマンドが呼び出されます。 たとえば、 @your-app-name です。
新規作成メッセージ領域から検索コマンドが呼び出されると、ユーザーは結果を会話に送信します。 コマンド ボックスから検索コマンドが呼び出されると、ユーザーは結果のカードと対話するか、別の場所で使用するためにコピーします。
次の図は、検索コマンドの呼び出し場所を示しています。
アプリ マニフェストに検索コマンドを追加する
検索コマンドを アプリ マニフェスト (以前は Teams アプリ マニフェスト) に追加するには、アプリ マニフェスト JSON の最上位に新しい composeExtensions
オブジェクトを追加する必要があります。 検索コマンドは、開発者ポータルの助けを借りて追加することも、手動で追加することもできます。
Bot Framework を使用して検索メッセージ拡張機能を作成する
Teams Toolkit と Teams 用開発者ポータルを使用して、検索メッセージ拡張機能を作成できます。
前提条件
作業を開始する前に、次の要件を満たしていることを確認してください。
- をNode.jsします。 サポートされているバージョンは 16、18 です。
- 開発用の Microsoft 365 アカウント
- Microsoft 365 全体で Teams アプリを拡張するための開発環境を設定します。 ターゲット リリースに開発者テナントOffice 365登録した後、登録が有効になるには数日かかる場合があります。
- Teams Toolkit Visual Studio Code Extension バージョン 5.2.0 以降または Teams Toolkit CLI。
Teams Toolkit を使用して検索ベースのメッセージ拡張機能を作成するには、次の手順に従います。
Visual Studio Code を開きます。
左側のウィンドウで、[ Teams ツールキット] を選択します。
[ 新しいアプリの作成] を選択します。
[ メッセージ拡張機能] を選択します。
[ カスタム検索結果] を選択します。
プログラミング言語を選択します。
[ 既定のフォルダー] を選択します。
アプリの名前を入力し、[Enter] を選択 します。
Teams Toolkit によってプロジェクトがスキャフォールディングされ、検索メッセージ拡張機能が作成されます。
Teams でメッセージ拡張機能を実行するには、次の手順に従います。
左側のウィンドウで、[ Teams ツールキット] を選択します。
[アカウント] で、Microsoft 365 アカウントと Azure アカウントでサインインします (まだサインインしていない場合)。
左側のウィンドウで、[ 実行とデバッグ] (Ctrl + Shift + D) を選択します。
[起動構成] ドロップダウンから、[
Preview in Teams (Edge)
] または [Preview in Teams (Chrome)
] を選択します。 Teams Toolkit は、ブラウザー ウィンドウで Teams Web クライアントを起動します。チャット メッセージに移動し、[ アクションとアプリ ] アイコンを選択します。 ポップアップ メニューで、アプリを検索します。
一覧からメッセージ拡張機能を選択し、検索ボックスに検索コマンドを入力します。
一覧から項目を選択します。 アイテムは、メッセージ作成領域のアダプティブ カードに展開されます。
[送信] を選びます。 Teams は、チャット メッセージのアダプティブ カードとして検索結果を送信します。
ボットベースのメッセージ拡張機能をプラグインとして拡張する
重要
Microsoft 365 Copilotのプラグインはプレビュー段階にあり、Teams のMicrosoft 365 Copilotでのみ機能します。
Microsoft 365 プラグインは、Teams や Outlook など、さまざまな Microsoft 365 製品との統合を提供します。 統合により、ユーザーは外部システムでコンテンツを検索または作成できます。 メッセージ拡張プラグインを使用すると、Microsoft 365 Copilotはボットを介して他のソフトウェアやサービスの API と対話できます。 既存のメッセージ拡張機能をビルドまたはアップグレードして、Microsoft 365 Copilotでの有用性と使いやすさを最大化することをお勧めします。 詳細については、「Microsoft 365 Copilotのプラグインとしてボット ベースのメッセージ拡張機能を拡張する」を参照してください。
コード スニペット
次のコードは、メッセージ拡張機能の検索ベースの例を示しています。
protected override async Task<MessagingExtensionResponse> OnTeamsMessagingExtensionQueryAsync(ITurnContext<IInvokeActivity> turnContext, MessagingExtensionQuery query, CancellationToken cancellationToken)
{
var text = query?.Parameters?[0]?.Value as string ?? string.Empty;
var packages = new[] {
new { title = "A very extensive set of extension methods", value = "FluentAssertions" },
new { title = "Fluent UI Library", value = "FluentUI" }};
// We take every row of the results and wrap them in cards wrapped in MessagingExtensionAttachment objects.
// The Preview is optional, if it includes a Tap, that will trigger the OnTeamsMessagingExtensionSelectItemAsync event back on this bot.
var attachments = packages.Select(package =>
{
var previewCard = new ThumbnailCard { Title = package.title, Tap = new CardAction { Type = "invoke", Value = package } };
if (!string.IsNullOrEmpty(package.title))
{
previewCard.Images = new List<CardImage>() { new CardImage(package.title, "Icon") };
}
var attachment = new MessagingExtensionAttachment
{
ContentType = HeroCard.ContentType,
Content = new HeroCard { Title = package.title },
Preview = previewCard.ToAttachment()
};
return attachment;
}).ToList();
// The list of MessagingExtensionAttachments must we wrapped in a MessagingExtensionResult wrapped in a MessagingExtensionResponse.
return new MessagingExtensionResponse
{
ComposeExtension = new MessagingExtensionResult
{
Type = "result",
AttachmentLayout = "list",
Attachments = attachments
}
};
}
コード サンプル
サンプルの名前 | 説明 | .NET | Node.js | マニフェスト |
---|---|---|---|---|
Teams メッセージ拡張機能検索 | このサンプルでは、検索ベースのメッセージ拡張機能を構築する方法を示します。 NuGet パッケージを検索し、検索結果を検索ベースのメッセージング拡張機能に表示します。 | 表示 | 表示 | 表示 |
ステップ バイ ステップのガイド
詳細 なガイド に従って、検索ベースのメッセージ拡張機能を作成します。
次の手順
関連項目
Platform Docs