前言
在 Teams Bot 當使用者在 Group 中的 一般 或是其他的 Channel 跟 Bot 對話時,
Teams 傳給 Bot 內容中的 channelData 中,
會包含 tenantId(tenant.id
) ,Group 一般 Channel 的 Id (team.id
) 及 對話 Channel 的 Id(channel.id
),
那 Group Id 及 Group Name 要怎麼取得呢?
解決
使用者在 Group 中對話的內容如下,
1 | { |
網路上大多是在 Teams App 的 Group ...
上按右鍵,
按下 取得團隊的連結 中去 Parse Url 中的 groupId ,https://teams.microsoft.com/l/team/19%NyIXwHW0Wsa03IJPkvBuSiJX1kl5KK0Q1IyVD99abcQ1%40thread.tacv2/conversations?groupId=1f99kk99-1234-4c99-8125-abc186ade451&tenantId=d8183322-db35-6677-8866-bedc12345ee9
但在 Teams Bot 中,要怎麼取到那個 Group Id 及 Group Name 呢?
可以在 installationUpdate
or conversationUpdate
事件中,
從 channelData 中的 team
來取得 Group 的資訊,
其中有 aadGroupId
、 name
及 Group 中一般 Channel 的 Id id
如下,
1 | "channelData": { |
所以在 Bot 加到 Group 中,就先將這些資訊記錄下來,
從上面的 json 內容可以發現,使用 channelData
中的 team.id
就可以來對應哦~
所以,當使用者跟 Bot 對話時,就可以用 channelData
中的 team.id
來對應它,
取出 team.aadGroupId
取 team.name
哦~
參考資源
Have a conversation with a Microsoft Teams bot
Conversation events in your Teams bot