ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData Microsoft Teams Drivers でチャットメッセージを送受信する
本記事ではCData Microsoft Teams Drivers でチャットのメッセージを送受信する方法を紹介します。CData Microsoft Teams Drivers はMicrosoft Teams のグループやチャネル情報にアクセスしたり、チャネルにメッセージを送信したりすることができるドライバーです。今回お客様のご要望を受けて、新たにTeams のチャットにアクセスできる機能を追加しました。
Teams には他のユーザとプライベートなメッセージを交換するチャット機能があります。CData Microsoft Teams Drivers バージョン22 では、新たにチャットのメッセージを送受信する機能が追加されました。これにより、チャットに残したメッセージをファイルに書き出したり、ワークフローの通知をチャットに送信したりすることができます。
チャットのId や最終更新日時の一覧を取得します。
チャットのメッセージを取得します。
チャットにメッセージを送信します。
チャットId
メッセージの取得元や送信先チャットはチャットId で区別します。チャットId とはチャットが持つ固有のId で、チャットに参加しているユーザ数に関わらず1つのチャットには必ず1つのId が振られます。
チャットメッセージの取得や送信時には必ずチャットId を使って対象のチャットを指定します。チャットのId を取得する方法としては以下の2つがあります。
1. Teams 画面のURLから取得
Teams でチャット画面を開くとページのURL にチャットId が含まれていますので、これを利用します。
2. Chats ビューから取得
Chats ビューからチャットId を含むチャットのリストが取得できます。以下にChats ビューの使い方を示します。このビューを取得する際はWhere 句にユーザId を指定します。
select Id, ChatType, LastUpdateDateTime from Chats where UserId = '3fdc1372-f7f3-4ebf-9d6f-986f32402046'
上記のクエリを実行すると以下の結果が取得できます。Id カラムの値がチャットId です。
チャットメッセージの取得
チャットメッセージの取得にはChatMessages ビューを使用します。このビューでは指定したチャットId のチャットメッセージのリストを取得できます。以下にChatMessages ビューの使い方を示します。このビューを取得する際はWhere 句にチャットId を指定します。
select * from ChatMessages where ChatId = <チャットId>
クエリ例
select Id, BodyContent, CreatedDateTime, FromUserDisplayName from ChatMessages where ChatId = '19:3fdc1372-f7f3-4ebf-9d6f-986f32402046_858a7845-a5e5-4a41-bc5b-bd51ec5d9dfa@unq.gbl.spaces'
上記のクエリを実行すると以下の結果が取得できます。
チャットの送信
パラメータ名 | 必須 | 説明 |
---|---|---|
ChatId | YES | 宛先のチャットId |
ContentType | No | メッセージの書式 ("text" か "html" のいずれかを指定。デフォルトは"text" ) |
Content | Yes | 送信するメッセージ |
ContentType に"html" を指定するとメッセージをHTML 文章として読み取ります。これはメッセージを太字にしたりリンクを送信したりするときに利用します。SendChatMessage ストアドプロシージャの使い方を以下に示します。
クエリ例
例1 : プレーンテキストのメッセージを送信
exec SendChatMessage @ChatId = '19:3fdc1372-f7f3-4ebf-9d6f-986f32402046_79731b23-e5d5-4fdb-a6d1-ed3d07672cb3@unq.gbl.spaces', @Content = 'こんにちは'
実行結果
例2 : HTML のメッセージを送信
exec SendChatMessage @ChatId = '19:3fdc1372-f7f3-4ebf-9d6f-986f32402046_79731b23-e5d5-4fdb-a6d1-ed3d07672cb3@unq.gbl.spaces', @ContentType = 'html', @Content = '<font color="green">こんにちは</font>'
実行結果