Teams チャットへのディープ リンク
新しいチャットを開始したり、チャネルの会話に移動したり、チャネル内のファイルにアクセスしたりするなど、Teams チャットへのディープ リンクを作成できます。
この記事では、次を作成する方法について説明します。
-
新しいチャットを開始するためのディープ リンク
-
チャットに移動するためのディープ リンク
-
チャネル会話に移動するためのディープ リンク
-
チャット メッセージに移動するためのディープ リンク
-
チームに移動するためのディープ リンク
-
チャネルに移動するためのディープ リンク
- チャネル内のファイルへのディープ リンクを生成する
新しいチャットを開始するためのディープ リンク
参加者のセットを指定することで、Microsoft Teams JavaScript クライアント ライブラリ (TeamsJS) を使用して、ユーザー間でプライベート チャットに移動したり、作成したりできます。 指定された参加者とチャットが存在しない場合、ユーザーは空白の新しいチャットに案内されます。
ユーザーがディープ リンクを使用して新しいチャットを作成すると、ユーザーが最初のメッセージを送信するまで、Teams は下書き状態で新しいチャットを作成します。 チャットがまだ存在しない場合は、チャットの名前と、ユーザーの新規作成ボックスに挿入するテキストを指定することもできます。 これは、ユーザーがチャットに移動または作成する手動操作を実行し、メッセージを作成するためのショートカットと考えてください。
ユース ケースの例として、ボットから Microsoft 365 ユーザー プロファイル情報をカードとして取得する場合、このディープ リンクを使用すると、アプリ ユーザーはそのユーザーと簡単にチャットできます。
ディープ リンクを構成して、次の 2 つの方法のいずれかで新しいチャットを開始できます。
ディープ リンクを構成してチャットを手動で開始する
型指定された API の使用をお勧めしますが、ボット、コネクタ、またはメッセージ拡張カードで使用できる手動で作成されたディープ リンクには、次の形式を使用することもできます。
https://teams.microsoft.com/l/chat/0/0?tenantId=<tenantId>&users=<user1>,<user2>,...&topicName=<chat name>&message=<precanned text>
ボットでこのディープ リンクを使用するには、カードのボタンの URL ターゲットとしてディープ リンクを指定するか、openUrl
アクションの種類を使用してアクションをタップします。
クエリ パラメーターは次のとおりです。
-
users
: チャットの参加者を表すユーザー ID のコンマ区切りのリスト。 アクションを実行するユーザーは、常に参加者として含まれます。 User ID パラメーターは、電子メール アドレスのみなど、Microsoft EntraUserPrincipalName
をサポートします。 -
topicName
: チャットに 3 人以上のユーザーがある場合の、チャットの表示名の省略可能なパラメーター。 このフィールドが指定されていない場合、チャットの表示名は参加者の名前に基づいています。 -
message
: チャットが下書き状態にあるときに、現在のアプリ ユーザーの作成ボックスに挿入するメッセージ テキストの省略可能なフィールド。
例: https://teams.microsoft.com/l/chat/0/0?users=joe@contoso.com,bob@contoso.com&topicName=Prep%20For%20Meeting%20Tomorrow&message=Hi%20folks%2C%20kicking%20off%20a%20chat%20about%20our%20meeting%20tomorrow
TeamsJS ライブラリを使用してチャットを開始するためのディープ リンクを構成する
次の例では、初回のメッセージとともに参加者グループにチャット メッセージを開示する方法を示します。 既存のチャットまたは新しいチャットへのディープ リンクをターゲットにすることができます。 チャットが既に存在する場合は、そのチャットでディープ リンクが開きます。
if(chat.isSupported()) {
const chatPromise = chat.openGroupChat({ users: ["joe@contoso.com","bob@contoso.com"], topic: "Prep For Meeting Tomorrow", message: "Hi folks kicking off chat about our meeting tomorrow"});
chatPromise.
then((result) => {/*Successful operation*/}).
catch((error) => {/*Unsuccessful operation*/});
}
else { /* handle case where capability isn't supported */ }
チャットに移動するためのディープ リンク
Teams で特定のチャット会話に移動するには、次のディープ リンク形式を使用します。
https://teams.microsoft.com/l/chat/<chatId>/conversations
クエリ パラメーターは、会話のチャット ID を表す chatId
。
chatId
でサポートされている形式は 19:xxx です。
例: https://teams.microsoft.com/l/chat/19:c6d70e392a384916c3262b15406d763e@thread.v2/conversations
チャネル会話に移動するためのディープ リンク
次のディープ リンク形式を使用して、チャネル スレッド内の特定の会話に移動できます。
https://teams.microsoft.com/l/message/<channelId>/<parentMessageId>?tenantId=<tenantId>&groupId=<groupId>&parentMessageId=<parentMessageId>&teamName=<teamName>&channelName=<channelName>&createdTime=<createdTime>
クエリ パラメーターは次のとおりです。
-
channelId
: 会話のチャネル ID。 たとえば、「19:3997a8734ee5432bb9cdedb7c432ae7d@thread.tacv2
」のように入力します。 -
tenantId
: テナント ID (0d9b645f-597b-41f0-a2a3-ef103fbd91bb
など)。 -
groupId
: ファイルのグループ ID。 たとえば、「3606f714-ec2e-41b3-9ad1-6afb331bd35d
」のように入力します。 -
parentMessageId
: 会話の親メッセージ ID。 -
teamName
: チームの名前。 -
channelName
: チームのチャネルの名前。
注:
チャネルからの URL に channelId
と groupId
が表示されます。
例: https://teams.microsoft.com/l/message/<channelId>/1648741500652?tenantId=<tenantId>&groupId=<groupId>&parentMessageId=1648741500652&teamName=<teamName>&channelName=<channelName>&createdTime=1648741500652
チャット メッセージに移動するためのディープ リンク
次のディープ リンク形式を使用して、Teams の個人用チャットまたはグループ チャット内のメッセージにユーザーを移動します。
https://teams.microsoft.com/l/message/{chatId}/{messageId}?tenantId=<tenantId>?context={"contextType":"chat"}
クエリ パラメーターは次のとおりです。
-
chatId
: 会話のチャット ID。chatId
でサポートされている形式は 19: xxx です。 たとえば、「19:253f5895-9a62-4362-8d38-43f0205c702c_f1b94dcf-0aa3-4989-bcdf-ef4a5ed00f86@unq.gbl.spaces
」のように入力します。
アプリは、Teams のアプリ コンテキスト、ボットへの受信ペイロード、または Microsoft Graph API を介してチャット ID を読み取ることができます。注:
ボットとの 1 対 1 のチャットの場合、ボットへの受信ペイロードには、メッセージ交換 ID が xxx 形式で含まれます。
-
messageId
: チャット内の各メッセージの一意のメッセージ ID。 ボットがチャットでメッセージを投稿すると、messageId
が返されます。 Microsoft Graph API を使用してmessageId
を取得することもできます。 たとえば、「1563480968434
」のように入力します。 -
context
: contextType をチャットとして指定します。
例: https://teams.microsoft.com/l/message/19:253f5895-9a62-4362-8d38-43f0205c702c_f1b94dcf-0aa3-4989-bcdf-ef4a5ed00f86@unq.gbl.spaces/1563480968434?context=%7B%22contextType%22:%22chat%22%7D
ディープ リンクを介して、事前に入力されたメッセージを使用してボットとの会話を開始できます。 電子メール アドレスの代わりに、 28:
のプレフィックスが付いたボット ID を使用します。 ディープ リンクの形式は次のとおりです。
https://teams.microsoft.com/l/chat/0/0?users=28:[bot guid]&message=This%20message%20was%20triggered%20by%20a%20link!
クエリ パラメーターは bot guid
され、これはアプリ マニフェストのボット ID 属性です。
例: https://teams.microsoft.com/l/chat/0/0?users=28:47345678-2134-6534-9143-65146789012&message=This%20message%20was%20triggered%20by%20a%20link!
指定されたディープ リンクは、ボットのチャット テキスト ボックスにのみメッセージを読み込み、メッセージを自動的に送信しません。 メッセージを送信するには、[ 送信 ] ボタンを選択するか、Enter キーを 押す必要があります。
チームに移動するためのディープ リンク
特定のチームに移動するには、次のディープ リンク形式を使用します。
https://teams.microsoft.com/l/team/<channelId>/conversations?groupId=<groupId>&tenantId=<tenantId>
クエリ パラメーターは次のとおりです。
-
channelId
: 会話のチャネル ID (URL エンコード)。 たとえば、19%3ATWLPKo8lD4v8zDxyw4FnDY-ovnBJG5CSjmrHUAoOz41%40thread.tacv2 です。 -
groupId
: ファイルのグループ ID。 たとえば、72602e12-78ac-474c-99d6-f619710353a9 です。 -
tenantId
: テナント ID (72f988bf-86f1-41af-91ab-2d7cd011db47 など)。
注:
channelId
とgroupId
は、チームから URL で取得できます。
例: https://teams.microsoft.com/l/team/19%3ATWLPKo8lD4v8zDxyw4FnDYY-ovnBJG5CSjmrHUAoOz41%40thread.tacv2/conversations?groupId=72602e12-78ac-474c-99d6-f619710353a9&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47
チャネルに移動するためのディープ リンク
次のディープ リンク形式を使用して、特定のチャネルに移動できます。
標準チャネル:
https://teams.microsoft.com/l/channel/<channelId>/<channelName>?groupId=<groupId>&tenantId=<tenantId>
例:
https://teams.microsoft.com/l/channel/19%3A9be3de4e70874c71a608dee9ba803ed3%40thread.tacv2/My%20example%20channel?groupId=72602e12-78ac-474c-99d6-f619710353a9&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47
プライベート チャネル:
https://teams.microsoft.com/l/channel/<channelId>/<channelName>?groupId=<groupId>&tenantId=<tenantId>&ngc=true
例:
https://teams.microsoft.com/l/channel/19%3A9be3de4e70874c71a608dee9ba803ed3%40thread.tacv2/My%20example%20channel?groupId=72602e12-78ac-474c-99d6-f619710353a9&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47&ngc=true
共有チャネル:
https://teams.microsoft.com/l/channel/<channelId>/<channelName>?groupId=<groupId>&tenantId=<tenantId>&ngc=true&allowXTenantAccess=true
例:
https://teams.microsoft.com/l/channel/19%3A9be3de4e70874c71a608dee9ba803ed3%40thread.tacv2/My%20example%20channel?groupId=72602e12-78ac-474c-99d6-f619710353a9&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47&ngc=true&allowXTenantAccess=true
クエリ パラメーターは次のとおりです。
-
channelId
: 会話のチャネル ID (URL エンコード)。 たとえば、「19%3A9be3de4e70874c71a608dee9ba803ed3%40thread.tacv2
」のように入力します。 -
channelName
: チームのチャネルの名前 (URL エンコード)。 たとえば、「My%20example%20channel
」のように入力します。 -
groupId
: チームのグループ ID。 たとえば、「72602e12-78ac-474c-99d6-f619710353a9
」のように入力します。 -
tenantId
: テナント ID (72f988bf-86f1-41af-91ab-2d7cd011db47
など)。 -
ngc
: 次世代チャネルを示します。 プライベート チャネルの場合は、true
に設定する必要があります。 -
allowXTenantAccess
: テナントの境界を越えてアクセスできるチャネルを示します。 共有チャネルの場合は、true
に設定する必要があります。
チャネル内のファイルへのディープ リンクを生成する
チャネル内のファイルに接続するようにディープ リンクを構成するには、ボット、コネクタ、またはメッセージ拡張機能カードで次のディープ リンク形式を使用できます。
https://teams.microsoft.com/l/file/<fileId>?tenantId=<tenantId>&fileType=<fileType>&objectUrl=<objectUrl>&baseUrl=<baseUrl>&serviceName=<Name>&threadId=<threadId>&groupId=<groupId>
クエリ パラメーターは次のとおりです。
-
fileId
: Sharepoint Online からの一意のファイル ID(sourcedoc
または Sharepoint OnlinedriveItem
API 応答からのsharepointIds.listItemUniqueId
とも呼ばれます)。 たとえば、「1FA202A5-3762-4F10-B550-C04F81F6ACBD
」のように入力します。 -
tenantId
: テナント ID (0d9b645f-597b-41f0-a2a3-ef103fbd91bb
など)。 -
fileType
: .docx、.pptx、.xlsx、.pdf などのサポートされているファイルの種類 -
objectUrl
: ファイルのオブジェクト URL。 形式はhttps://{tenantName}.sharepoint.com/sites/{TeamName}/SharedDocuments/{ChannelName}/FileName.ext
です。 たとえば、「https://microsoft.sharepoint.com/teams/(filepath)
」のように入力します。 -
baseUrl
: ファイルのベース URL。 形式はhttps://{tenantName}.sharepoint.com/sites/{TeamName}
です。 たとえば、「https://microsoft.sharepoint.com/teams
」のように入力します。 -
serviceName
: サービスの名前、アプリ ID。 たとえば、「teams
」のように入力します。 -
threadId
: threadID は、ファイルが格納されているチームのチーム ID です。 これはオプションであり、ユーザーの OneDrive フォルダーに保存されているファイルには設定できません。 たとえば、「19:<f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype>
」のように入力します。 -
groupId
: ファイルのグループ ID。 たとえば、「ae063b79-5315-4ddb-ba70-27328ba6c31e
」のように入力します。
注:
- チャネルからの URL に
threadId
とgroupId
が表示されます。 - 新しい Teams クライアントでは、チャネル内のファイルに
objectURL
を使用するディープ リンク形式はサポートされていません。ディープ リンク形式でobjectUrl
を使用します。
次のフォーマット例は、ファイルへのディープ リンクを示しています。
https://teams.microsoft.com/l/file/5E0154FC-F2B4-4DA5-8CDA-F096E72C0A80?tenantId=0d9b645f-597b-41f0-a2a3-ef103fbd91bb&fileType=pptx&objectUrl=https%3A%2F%2Fmicrosoft.sharepoint.com%2Fteams%2FActionPlatform%2FShared%20Documents%2FFC7-%20Bot%20and%20Action%20Infra%2FKaizala%20Actions%20in%20Adaptive%20Cards%20-%20Deck.pptx&baseUrl=https%3A%2F%2Fmicrosoft.sharepoint.com%2Fteams%2FActionPlatform&serviceName=teams&threadId=19:f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype&groupId=ae063b79-5315-4ddb-ba70-27328ba6c31e
このオブジェクトのシリアル化
{
fileId: "5E0154FC-F2B4-4DA5-8CDA-F096E72C0A80",
tenantId: "0d9b645f-597b-41f0-a2a3-ef103fbd91bb",
filetype: = "pptx",
objectUrl: "https://microsoft.sharepoint.com/teams/ActionPlatform/Shared Documents/FC7- Bot and Action Infra/Kaizala Actions in Adaptive Cards - Deck.pptx",
baseUrl: "https://microsoft.sharepoint.com/teams/ActionPlatform",
serviceName: "teams",
threadId: = "19:f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype",
groupId: "ae063b79-5315-4ddb-ba70-27328ba6c31e"
}
コード サンプル
サンプルの名前 | 説明 | .NET | Node.js |
---|---|---|---|
ディープ リンクを使用するサブエンティティ ID | このサンプルでは、ボット チャットからサブエンティティ ID を使用するタブへのディープ リンクを使用する方法を示します。 また、次のディープ リンクも表示されます。 - アプリへの移動 - チャットへの移動 - プロファイル ダイアログを開く - スケジュール 設定ダイアログを開く |
表示 | 表示 |
Platform Docs