如何動手調試Microsoft Teams的Task Module功能?

說在前邊:瞭解Microsoft Teams產品的童鞋都知道,包括Tabs、Bots在內,Teams已經提供了很多強大的第三方集成功能。Tab可以很方便的集成已有的業務系統,豐富已有的業務流程。Bots又爲用戶提供了高度可擴展、深度定製開發的選項和能力。今天介紹的Task Module實際上已經出來蠻久了,類似Popup的效果,和已有的Tabs和Bots等一起使用,極大地豐富了現有功能,也爲業務系統提供了更多的方案選擇。

在開始之前,先上一張官方諜照:

Task Module Example

樣子是不是很熟悉,標準的Popup體驗,當然這個實現可以有好幾種方式,比如通過Teams的JS SDK喚起彈窗,也可以通過Card裏的button喚起,在寫這篇博文的時候,已經發現了可以通過Deep Link的方式喚起了(這種方式之前沒有玩過)。

以上做個簡單的介紹,閒言少敘,直入主題。以下是我做的一個真實場景,通過本地開發調試介紹,希望對各位童靴有點幫助。

一:準備本地開發環境。

  • Visual Studio或者Visual Studio Code(如果是VS Code,則文中某些內容需要略微調整,此處不做贅述),用於調試代碼。
  • Microsoft Teams的PC客戶端或者使用Teams的Web版本(上傳package,看效果)。
  • ngrok(用於打通localhost和外網,在做其他有穿網需求的項目,也可以使用,挺好用)。
  • git(用於從GitHub上拉代碼)

二:拉代碼 & 運行代碼。

代碼位置,戳這裏(實際上code repository裏的readme也有部分步驟和截圖,本文給出部分中文解釋和額外的注意點)。

clone完成後,打開代碼目錄下的solution文件Microsoft.Teams.Samples.TaskModule.sln,build + run。注意跑起來的localhost端口(這裏爲3333)

三:跑ngrok終端

管理員身份運行ngrok終端,run cmd > ngrok.exe http 3333 -host-header="localhost:3333"

PS:這裏注意-host-header參數一定要加。不然跑起來會有問題(感興趣的可以自己去掉跑跑看)。跑起來我們用的是https(Teams要求)。

ngrok

四:更改配置(web.config)

    <add key="MicrosoftAppId" value="f6a7af57-a5c6-4e18-a3e5-1ab6793ce6d1" /> 【bot application id】
    <add key="MicrosoftAppPassword" value="quF;DR/@(2U_b:IR2+k=&amp;;?=l1|0CH{h_d" /> 【bot application password,注意這裏的轉義符號】
    <add key="Host" value="https://2cbe2ac9.ngrok.io"/> 【本地跑起來的ngrok地址,相當於一個callback地址,打開task module的時候,會訪問這個域名下的頁面】

更改的時候需要停掉IISExpress,所以改完後再跑起來,由於端口不變,所以ngrok不用重新啓動,也不能重新啓動(重啓後地址又變了)

五:通過App Studio配置並安裝

app studio

具體步驟可以參考:https://github.com/Office365DevOps/msteams-samples-task-module-csharp。整個應用會包含Tab、MessageExtension,在這兩個內容裏喚起Task Module。需要說明的是在JS SDK調用task module的地方,注意AppId參數(這裏有說明):

安裝完以後可以在Teams的Tab裏看到button點擊後彈出框效果(MessageExtension效果類似)。

如果需要了解更多的JS SDK的方法和參數,請參考官方文檔

歡迎拍磚,共同探討。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章