在本文中,深入了解如何建置 Teams 應用程式功能。 以下是適用於 Teams 平台功能的逐步指南清單。
| # | 功能 | 逐步指南 |
|---|---|---|
| 1. | Bot |
-
使用 Microsoft 365 Agents Playground 偵錯您的 AI 聊天機器人 - 傳送主動訊息 |
| 2. | 訊息擴充功能 |
-
建置 API 型訊息擴充功能 - 建立以動作為基礎的訊息擴充功能 - 使用 JavaScript 建立您的第一個訊息擴充應用程式 |
| 3. | Tab | 使用 C sharp 建立您的第一個索引標籤應用程式 |
| 4. | SSO |
-
使用 SSO 驗證建置 Bot - 將 SSO 新增至索引標籤和訊息擴充功能應用程式 |
建置您的第一個 Bot 應用程式
使用您的第一個 Microsoft Teams 應用程式,開始 Microsoft Teams 應用程式開發。 您可以使用 Javascript 在 Teams 中建立 Bot 應用程式。
建置您的第一個 Bot
您的應用程式有一項功能,自帶自己的 UI 和 UX:
在本教學課程中,您將了解:
- 如何使用 Microsoft 365 Agents Toolkit 設定新專案 (先前稱為 Teams Toolkit) 。
- 如何建置 Bot 應用程式。
- 如何部署您的應用程式。
先決條件
請確定您已安裝下列工具來建置和部署您的應用程式。
| 安裝 | 用於使用... | |
|---|---|---|
| 必要 | ||
| Microsoft 365 代理程式工具組 | 可為您的應用程式建立專案基架的 Microsoft Visual Studio Code 擴充功能。 使用最新版本。 | |
| Microsoft Teams | Microsoft Teams 透過在同一個位置進行聊天、會議和通話的應用程式,與共同作業的每個人共同作業。 | |
| Node.js | 後端 JavaScript 執行階段環境。 如需詳細資訊,請參閱專案 類型的版本相容性表格Node.js。 | |
| Microsoft Edge (建議) 或 Google Chrome | 具有開發人員工具的瀏覽器。 | |
| Visual Studio Code | JavaScript、TypeScript 或 SharePoint 架構 (SPFx) 建置環境。 使用最新版本。 | |
| 選用 | ||
| 適用於 Visual Studio Code 和 Azure CLI 的 Azure 工具 | Azure 工具可用於存取儲存的資料,或在 Azure 中為 Teams 應用程式部署雲端式後端。 | |
| 適用於 Chrome 的 React 開發人員工具或適用於 Microsoft Edge 的 React 開發人員工具 | 開放原始碼 React JavaScript 程式庫的瀏覽器開發工具延伸模組。 | |
| Microsoft Graph 總管 | Microsoft Graph 總管,這是可讓您從 Microsoft Graph 資料執行查詢的瀏覽器型工具。 | |
| 適用於 Teams 的開發者入口網站 | 用於設定、管理及發佈 Teams 應用程式的 Web 入口網站,包括發佈至您的組織或 Microsoft Teams 市集。 |
秘訣
如果您使用 Microsoft Graph 資料,您應該了解 Microsoft Graph 總管並將其加入書籤。 這個以瀏覽器為基礎的工具可讓您在應用程式之外查詢 Microsoft Graph。
設定必要條件
安裝必要的工具之後,請設定開發環境。
安裝 Microsoft 365 代理程式工具組
Microsoft 365 Agents Toolkit (先前稱為 Teams Toolkit) 透過為應用程式佈建和部署雲端資源並發佈到 Teams Store 的工具來協助簡化開發流程。
您可以將 Agents Toolkit 與 Visual Studio Code 搭配使用,或稱為 Microsoft 365 Agents Toolkit CLI (先前稱為 TeamsFx CLI) 的命令列介面。
開啟 Visual Studio Code 並選取 [擴充功能] (Ctrl+Shift+X 或 [檢視>擴充功能]) 。
在搜尋方塊中,輸入 Microsoft 365 Agents Toolkit。
選取 [安裝]。
Microsoft 365 代理程式工具組
圖示會出現在 Visual Studio Code 活動列中。
您也可以從 Visual Studio Code 市集安裝代理程式工具組。
設定您的 Teams 開發租用戶
租用戶是貴組織在 Teams 中的一個空間或容器,您可在這裡聊天、共用檔案和開會。 這個空間也是您上傳和測試應用程式的地方。 讓我們確認您是否已準備好與租用戶一起開發。
檢查 [上傳應用程式] 選項
建立自訂應用程式之後,您必須使用 [ 上傳自訂應用程式 ] 選項,將您的應用程式上傳至 Teams。 登入您的 Microsoft 365 帳戶以檢查此選項是否已啟用。
下列步驟可協助您確認您是否可以在 Teams 中上傳應用程式:
在 Teams 用戶端中,選取 應用程式 圖示。
選取 管理您的應用程式。
選取 [ 上傳應用程式]。
尋找 [ 上傳自訂應用程式] 選項。 如果顯示該選項,您可以上傳自訂應用程式。
注意
如果您找不到上傳自訂應用程式的選項,請連絡您的 Teams 系統管理員。
建立免費的 Teams 開發人員租用戶
如果您沒有 Teams 開發人員帳戶,請加入 Microsoft 365 開發人員計畫。 這是選擇性步驟。
選取 [立即加入] ,並依照畫面上的指示操作。
在歡迎畫面中,選取設定 E5 訂閱。
設定您的系統管理員帳戶。 完成後,隨即出現下列畫面:
使用您剛才設定的系統管理員帳戶登入 Teams。 確認您在 Teams 中有 上傳自訂應用程式選項 。
取得免費的 Azure 帳戶
如果您想要在 Azure 中託管您的應用程式或存取資源,您必須擁有 Azure 訂閱。 開始之前先建立免費帳戶。
現在您已擁有設定帳戶的所有工具。 接下來,讓我們設定您的開發環境並開始建置吧! 先選取您要建立的應用程式。
為您的 Bot 應用程式建立專案工作區
讓我們建立您的第一個 Bot 應用程式。
Teams 應用程式的 Bot 功能會建立聊天機器人或交談機器人。 您可以使用它來執行簡單且自動化的任務,例如提供客戶服務。 Bot 會與 Web 服務交談,並協助您使用其供應項目。 您可以獲取天氣預報、進行預訂或使用對話機器人提供的任何其他服務。
當您已準備好建立這些應用程式時,您可以設定新的 Teams 專案來建立 Bot 應用程式。
在本教學課程中,您將了解:
重要
Bot 可在 政府社群雲端 (GCC) 、GCC High、美國國防部 (國防部) ,以及 由 21Vianet 環境運作的 Teams 中使用。
建立您的 Bot 專案工作區
如果先決條件齊全,讓我們開始吧!
注意
顯示的 Visual Studio Code UI 來自 Mac。 這可能會根據您的作業系統、Agents Toolkit 版本和環境而有所不同。
開啟 Visual Studio Code。
選取 Visual Studio Code 活動列中的 Microsoft 365 代理程式工具組
圖示。選取 [建立新的代理程式/應用程式>]Teams 應用程式。
選取 Bot 以建立新的 Bot 專案。
確定已選取 [基本 Bot ] 作為您要在應用程式中建置的應用程式功能。
選取 JavaScript 做為程式語言。
選取 [預設資料夾 ],將專案根資料夾儲存在預設位置。
您也可以透過下列步驟變更預設位置:
選取 [瀏覽]。
選取專案工作區的位置。
選取 [選取資料夾]。
輸入適合您的應用程式名稱,然後選取 Enter。
此時會出現一個對話方塊,您必須選擇 [是] 或 [否] 以信任此資料夾中檔案的作者。
具有 Bot 功能的 Teams 應用程式將在幾秒鐘內建立。
建立應用程式之後,Agents Toolkit 會顯示下列訊息:
選取 [本機偵錯] 以預覽您的專案。
建立 Teams 應用程式的快速回顧。
觀看此建立 Teams 應用程式的簡短回顧。
Bot 應用程式原始程式碼導覽
腳架完成後,在 Visual Studio Code 的資源管理器中檢視專案目錄和檔案。
| 資料夾 / 檔案 | 內容 |
|---|---|
m365agents.yml |
主要專案檔案 |
m365agents.local.yml |
這會 m365agents.yml 以啟用本機執行和偵錯的動作覆寫。 |
.vscode/ |
用於本機偵錯的 VSCode 檔案。 |
appPackage/ |
Teams 應用程式資訊清單的範本。 |
adaptiveCards/ |
Bot 傳回的自適性卡片。 |
infra/ |
佈建 Azure 資源的範本。 |
index.js |
應用程式進入點和 express 處理常式。 |
teamsBot.js |
Teams 活動處理常式。 |
秘訣
在將第一個 Bot 整合到 Teams 中之前,請先熟悉 Teams 外部的 Bot。
建置並執行您的第一個 Bot 應用程式
使用 Agents Toolkit 設定專案工作區之後,請建置 Bot 專案。 您必須登入您的 Microsoft 365 帳戶。
登入您的 Microsoft 365 帳戶
使用此帳戶登入 Teams。 如果您使用的是 Microsoft 365 開發人員計畫租用戶,則您在註冊時設定的系統管理員帳戶就是您的 Microsoft 365 帳戶。
開啟 Visual Studio Code。
選取提要欄位中的 Microsoft 365 代理程式工具組
圖示。選取 [使用您的認證登入 M365 ]。
您的預設網頁瀏覽器隨即開啟,讓您登入帳戶。
出現提示時關閉瀏覽器,然後返回 Visual Studio Code。
返回 Visual Studio Code 內的代理程式工具組。
使用此帳戶登入 Teams。 如果您使用的是 Microsoft 365 開發人員計畫租用戶,則您在註冊時設定的系統管理員帳戶就是您的 Microsoft 365 帳戶。
現在您已準備好建置應用程式並在本機執行它!
在本機建置並執行您的第一個 Bot 應用程式
若要在本機環境中建置及執行您的應用程式:
選取 Visual Studio Code 中的 F5,以偵錯模式執行應用程式。
注意
如果 Agents Toolkit 無法檢查特定的先決條件,它會提示您檢查。
了解當您在偵錯工具中本機執行應用程式時會發生什麼情況。
如果您想知道,當您按 F5 鍵時,Agents Toolkit:
- 檢查下列所有必要條件:
- 您已使用 Microsoft 365 帳戶登入。
- 您的 Microsoft 365 帳戶已啟用自訂應用程式上傳功能。
- 已安裝支援 Node.js 版本。
- Bot 應用程式所需的連接埠可用。
- 安裝 npm 套件。
- 啟動開發人員通道以建立 HTTP 通道。
- 在 Microsoft Entra ID 中註冊應用程式並設定應用程式。
- 在 Bot Framework 中註冊 Bot 應用程式,並設定 Bot 應用程式。
- 在 Teams 開發人員入口網站中註冊應用程式並設定應用程式。
- 啟動 Bot 應用程式。
- 在網頁瀏覽器中啟動 Teams,並上傳自訂 Bot 應用程式。
注意
當您第一次執行應用程式時,會下載所有相依性,並建置應用程式。 當組建完成時,瀏覽器視窗會自動開啟。 此程序可能需要三到五分鐘才能完成。
Teams 會在網頁瀏覽器中執行您的應用程式。
如果出現提示,請使用您的 Microsoft 365 帳戶登入。
選取 [ 新增 ] 將自訂 Bot 應用程式上傳至 Teams。
選取 [ 開啟] 以在個人範圍內開啟應用程式。
或者,您可以搜尋並選取所需的範圍,或從清單中選取頻道、聊天或會議,然後在對話方塊中移動以選取 [執行]。
現在 Bot 已成功在 Teams 上執行! 載入應用程式之後,隨即開啟與 Bot 的聊天工作階段。
您可以輸入
welcome以顯示介紹卡,並輸入以learn移至調適型卡片和機器人命令文件。
您可以執行一般偵錯活動,例如設定中斷點,就像使用任何其他 Web 應用程式一樣。 開啟
bot/teamsBot.js檔案並找到onMessage()方法。 在任何情況下設定中斷點。 然後,輸入一些文字。瞭解如果您的應用程式無法在本機執行時進行疑難排解,該如何進行疑難排解。
若要在 Teams 中成功執行您的應用程式,請確定您已在 Teams 帳戶中啟用自訂應用程式上傳。 您可以在先決條件章節深入了解自訂應用程式上傳。
重要
自訂應用程式上傳可在政府社群雲端 (GCC) 中使用,且由 21Vianet 運作的 GCC High、DoD 和 Teams 不支援。
秘訣
在上傳自訂應用程式之前,請使用 應用程式驗證工具來檢查問題。 此工具包含在工具組中。 修正錯誤以上傳應用程式。
部署您的第一個 Teams 應用程式
您已學會使用 Bot 功能建立、組建及執行 Teams 應用程式。 最後一步是在 Azure 上部署您的應用程式。
讓我們使用 Agents Toolkit 在 Azure 上部署第一個具有機器人功能的應用程式。
登入您的 Azure 帳戶
使用此帳戶可存取 Microsoft Azure 入口網站,並佈建新的雲端資源以支援您的應用程式。
開啟 Visual Studio Code。
開啟您在其中建立 Bot 應用程式的專案資料夾。
選取提要欄位中的 Microsoft 365 代理程式工具組
圖示。選取 [使用您的認證登入 Azure]。
秘訣
如果您已安裝 AZURE 帳戶擴充功能且使用相同的帳戶,則可以略過此步驟。 使用您在其他擴充功能中使用的相同帳戶。
您的預設網頁瀏覽器隨即開啟,讓您登入帳戶。
出現提示時關閉瀏覽器,然後返回 Visual Studio Code。
提要欄位的 [帳戶 ] 區段會分別顯示兩個帳戶。 它也會列出可供您使用的可用 Azure 訂閱數量。 請確定您至少有一個可用的 Azure 訂閱。 如果沒有,請登出並使用其他帳戶。
恭喜,您已建立 Teams 應用程式! 現在讓我們繼續瞭解如何使用 Agents Toolkit 將其中一個應用程式部署到 Azure。
在 Azure 上佈建和部署您的應用程式
部署包含兩個步驟。 首先,Azure建立必要的雲端資源 (也稱為佈建) 。 然後,Azure 會將應用程式的程式碼複製到建立的雲端資源中。 在本教學課程中,您將部署 Bot 應用程式。
佈建和部署之間有什麼不同?
[佈建] 步驟會在 Azure 和 Microsoft 365 中為您的應用程式建立資源,但不會將程式碼 (HTML、CSS 或 JavaScript) 複製到資源。 部署 步驟會 將應用程式的程式碼複製到您在佈建步驟中建立的資源。 在未佈建新資源的情況下進行多次部署是很常見的。 由於佈建步驟可能需要一些時間才能完成,因此與部署步驟是分開的。
選取 Visual Studio Code 提要欄位中的 Microsoft 365 代理程式工具組
圖示。
選取 [佈建]。
選取要用於 Azure 資源的訂閱。
您的應用程式是使用 Azure 資源託管。
在 Azure 中執行資源時,會出現警告您可能會產生成本的對話方塊。
選取 [佈建]。
佈建程序會在 Azure 雲端中建立資源。 這可能需要一些時間。 您可以觀察右下角的對話方塊來監控進度。 幾分鐘後,您會看到下列通知:
如有需要,您可以檢視佈建的資源。 在本教學課程中,您不需要檢視資源。
佈建的資源會出現在 [環境 ] 區段中。
佈建完成後,從 [生命週期] 面板選取 [部署]。
與佈建一樣,部署需要一些時間。 您可以觀察右下角的對話方塊來監視流程。 幾分鐘後,您會看到完成通知。
現在,您可以使用相同的程序,將 Bot 和訊息擴充功能應用程式部署到 Azure。
執行已部署的應用程式
佈建和部署步驟完成後:
(Ctrl+Shift+D / ⌘⇧-D 開啟偵錯面板,或從 Visual Studio Code 開啟 [檢視>執行) ]。
從啟動設定下拉式清單中選取 啟動遠端 (Edge) 。
選取 [開始偵錯] (F5) 。 系統會提示您將自訂 Bot 應用程式上傳至 Teams。
選取 [新增]。
選取 [ 開啟] 以在個人範圍內開啟應用程式。
或者,您可以搜尋並選取所需的範圍,或從清單中選取頻道、聊天或會議,然後在對話方塊中移動以選取 [執行]。
您已成功將 Bot 應用程式新增至 Teams 用戶端。
了解將應用程式部署到 Azure 時會發生什麼情況
部署前,應用程式已在本機執行:
- 後端使用 Azure Functions 核心工具執行。
- 應用程式 HTTP 端點,Microsoft Teams 載入應用程式的地方,會在本機執行。
部署程序包含兩個步驟。 您可以在作用中的 Azure 訂閱上佈建資源,然後將應用程式的後端和前端程式碼部署或上傳至 Azure。
- 後端 (如果已設定) 會使用各種Azure服務,包括 Azure App 服務 和 Azure 儲存體。
- 前端應用程式會部署至針對靜態 Web 主機設定的 Azure 儲存帳戶。
恭喜!
您成功了!
您已建立 Bot 應用程式。
現在您已經學會了建立基本應用程式,您可以繼續建立更複雜的應用程式。 您已完成使用 JavaScript 建置 Bot 的教學課程。
使用 Microsoft 365 Agents Playground 偵錯您的 AI 聊天機器人
使用 Teams AI 聊天機器人應用程式開始Microsoft Teams 應用程式開發,並使用 Microsoft 365 Agents Playground (先前稱為 Teams 應用程式測試工具) 進行偵錯。 Agents Playground 可讓您輕鬆偵錯以機器人為基礎的應用程式。 您不需要 Microsoft 365 開發人員帳戶、通道或 Teams 應用程式和 Bot 註冊,即可使用 Agents Playground。
教學課程: 偵錯您的 AI 聊天機器人
先決條件
您可以與 Bot 聊天,並檢視顯示在 Teams 中的訊息和調適型卡片。 您也可以使用活動觸發器模擬 Agents Playground 中的活動。
注意
- Agents Playground 僅在 Microsoft 365 Agents Toolkit (的 v5.4.0 中提供,先前稱為 Teams Toolkit) 。
- Agents Playground 僅支援桌面和 Web 用戶端。
本逐步指南可協助您使用 Agents Toolkit 建立 AI 聊天機器人,並使用測試工具進行偵錯。 完成本指南之後,您會看到下列輸出,使用者可以在其中存取及使用 AI 聊天機器人:
| 安裝 | 用於使用... |
|---|---|
| Visual Studio Code 或 Visual Studio | JavaScript、TypeScript 或 C# 建置環境。 使用最新版本。 |
| Microsoft 365 代理程式工具組 | 可為您的應用程式建立專案基架的 Microsoft Visual Studio Code 擴充功能。 使用 Agents Toolkit v5.4.0。 如需詳細資訊,請參閱 安裝代理程式工具組。 |
| Node.js | 後端 JavaScript 執行階段環境。 如需詳細資訊,請參閱專案 類型的版本相容性表格Node.js。 |
| OpenAI 或 Azure OpenAI | 首先,建立您的 OpenAI API 金鑰以使用 OpenAI 的 GPT。 如果您想要在 Azure 中託管您的應用程式或存取資源,您必須建立 Azure OpenAI 服務。 |
| Microsoft Edge (建議) 或 Google Chrome | 具有開發人員工具的瀏覽器。 |
為您的 AI 聊天機器人應用程式建立專案工作區
Teams 應用程式的 Bot 功能會建立聊天機器人或交談機器人。 它與 Web 服務進行通信,方便其服務的使用。 該機器人可以執行簡單的自動化任務,例如提供客戶服務。 您可以獲取天氣預報、進行預訂或使用對話機器人提供的任何其他服務。
當您已準備好建立這些應用程式時,您可以設定新的 Teams 專案來建立 AI 聊天機器人應用程式。
建立您的 Bot 專案工作區
如果先決條件齊全,讓我們開始吧!
開啟 Visual Studio Code。
選取 Visual Studio Code 活動列中的 Microsoft 365 代理程式工具組
圖示。選取 [建立新的代理程式/應用程式]。
選取適用於 Teams >的代理程式:Azure OpenAI> 立即在 [輸入 Azure API] 服務金鑰中輸入
選取 Teams 的基本代理程式。 如果您的 Bot 需要不同的功能,請選取所需的選項。
選取程式語言作為 JavaScript。
選取 預設資料夾。
若要變更預設位置,請依照下列步驟執行:
選取 [瀏覽]。
選取專案工作區的位置。
選取 [選取資料夾]。
輸入適合您的應用程式名稱,然後選取 Enter 鍵。
此時會出現一個對話方塊,您必須選擇 [是] 或 [否] 以信任此資料夾中檔案的作者。
現在,您已成功建立 AI 聊天機器人專案工作區。
Bot 應用程式原始程式碼導覽
完成腳手架之後,請在 Visual Studio Code 的 [檔案總管] 區段中探索專案目錄和檔案。
| 資料夾或檔案名稱 | 內容 |
|---|---|
env/.env.playground |
設定檔,其中包含可認可至 Git 的環境變數。 |
env/.env.playground.user |
包含環境變數的設定檔,包括依預設不會認可至 Git 的認證。 |
appPackage |
應用程式資訊清單範本檔案和應用程式圖示 (color.png 和 outline.png) 。 |
appPackage/manifest.json |
用於在本機和遠端環境中執行應用程式的應用程式資訊清單。 |
src/app.js |
處理 AI 聊天機器人的商務邏輯。 |
m365agents.yml |
這是主要的 Agents Toolkit 專案檔案。 專案檔定義兩個主要項目:屬性、組態和階段定義。 |
m365agents.local.yml |
這會 m365agents.yml 以啟用本機執行和偵錯的動作覆寫。 |
m365agents.playground.yml |
這會 m365agents.yml 以在測試工具中啟用本機執行和偵錯的動作覆寫。 |
建立和執行您的 AI 聊天機器人應用程式
為您的 AI 聊天機器人建立 OpenAI 金鑰和端點
移至 Azure 入口網站。
選取建立資源並搜尋 Azure OpenAI。
選取 [Azure OpenAI],然後選取 [建立]。
填寫必要詳細資料,然後選取 [下一步]。
選取 [包括網際網路在內的所有網路都可以存取此資源] ,然後選取 [下一步]。
填寫必要詳細資料,然後選取 [下一步]。
選取 [建立]。
您已成功為 AI 聊天機器人建立金鑰和端點。
注意
您還可以獲取 OpenAI API 密鑰來調試您的 AI 聊天機器人。
取得 Azure OpenAI 金鑰和端點
選取 [前往資源]。
從左窗格中選取 [ 金鑰和端點 ],然後複製 [金鑰 ] 和 [端點]。 您可以複製 KEY 1 或 KEY 2。
儲存 金鑰 和 端點 以供進一步使用。
從左側窗格中選取 模型部署 ,然後選取 管理部署。
Azure OpenAI Studio 視窗隨即出現。
從左側窗格中選取 [部署] ,然後選取 [+ 建立新部署]。
選取下列詳細資料:
更新 Azure OpenAI 金鑰和端點
在 Visual Studio Code 中開啟您的專案。
在 [檔案總管] 底下,前往 env.env.playground.user > 檔案。
輸入您的 SECRET_AZURE_OPENAI_API_KEY 和 SECRET_AZURE_OPENAI_ENDPOINT。
... SECRET_AZURE_OPENAI_API_KEY=<azure-openai-api-key> SECRET_AZURE_OPENAI_ENDPOINT=<azure-openai-endpoint>移至 src>app.js 檔案。
註解
OpenAI程式碼和取消註解程式碼Azure OpenAI。在中
azureDefaultDeployment輸入您的 Azure OpenAI 部署名稱。// Use OpenAI // apiKey: config.openAIKey, // defaultModel: "gpt-3.5-turbo", azureApiKey: config.azureOpenAIKey, azureDefaultDeployment: "gpt-35-turbo", azureEndpoint: config.azureOpenAIEndpoint,
偵錯並執行您的 AI 聊天機器人應用程式
在左側窗格中,選取 [執行和偵錯] (Ctrl+Shift+D) ,然後從下拉式清單中選取 [在 Agents Playground 中偵錯]。
Agents Playground 會在網頁中開啟您的 AI 聊天機器人。
活動觸發程序
活動觸發程式有兩種類型:
預先定義的活動觸發程序
Agents Playground 提供預先定義的活動觸發器來測試 Bot 的功能。
| 類別 | 活動 | 處理常式 |
|---|---|---|
| 觸發程序安裝更新活動 | 安裝 Bot 解除安裝 Bot |
onInstallationUpdate onInstallationUpdateAdded onInstallationUpdate onInstallationUpdateRemove |
| 觸發交談更新活動 | 新增使用者 新增 Bot 新增頻道 |
onMembersAdded onTeamsMembersAddedEvent onMembersAdded onTeamsMembersAddedEvent onTeamsChannelCreatedEvent |
| 移除使用者 移除 Bot 移除頻道 移除團隊 |
onMembersRemoved onTeamsMembersRemovedEvent onMembersRemoved onTeamsMembersRemovedEvent onTeamsChannelDeletedEvent onTeamsTeamDeletedEvent |
|
| 重新命名頻道 重新命名團隊名稱 |
onTeamsChannelRenamedEvent onTeamsTeamRenamedEvent |
注意
並非所有類型的活動都適用於所有範圍。 例如,您無法在個人聊天或群組聊天中新增或移除頻道。
預先定義的活動觸發器可在 Agents Playground 的 [模擬活動] 功能表中使用。
若要模擬 [ 新增使用者 ] 活動,請遵循下列步驟:
在 Agents Playground 中,移至 [模擬活動]> 新增使用者。
此時會出現一個對話方塊,預覽活動處理常式。
選取傳送活動。
Bot 會傳送下列回應:
自訂活動觸發程序
您可以使用 自訂活動 來自訂活動觸發程序,例如, reactionsAdded 以符合 Bot 應用程式的需求。 Agents Playground 會自動填入活動的必要屬性。 您也可以修改活動類型並新增更多屬性。
選取 模擬活動自訂>活動。
新增
messageReaction以自訂屬性下的type活動:{ "type": "messageReaction", "reactionsAdded": [ { "type": "like" } ], "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47" }選取傳送活動。
Bot 會傳送
onReactionsAdded處理常式作為回應。
完成挑戰
你有這樣的輸出嗎?
恭喜! 您已成功建立 AI 聊天機器人應用程式。 現在,您已經學會在 Agents Playground 中偵錯 AI 聊天機器人應用程式。
傳送主動訊息
主動訊息是機器人為了回應使用者在聊天中傳送的簡單命令而傳送的訊息。
教學課程:傳送主動式訊息
訊息回應可以採用下列其中一種格式:
- 歡迎訊息
- 排定的郵件
- 通知
本逐步指南可協助您從 Bot 傳送主動訊息。 您會看到下列輸出:
先決條件
請確定您已安裝下列工具來建置和部署您的應用程式。
| 安裝 | 針對使用 | |
|---|---|---|
| Microsoft Visual Studio Code | JavaScript 或 TypeScript,建置環境。 使用最新版本。 | |
| Microsoft 365 Agents Toolkit ( 先前稱為 Teams Toolkit) | 可為您的應用程式建立專案基架的 Visual Studio Code 擴充功能。 使用最新版本。 | |
| Node.js | 後端 JavaScript 執行階段環境。 如需詳細資訊,請參閱專案 類型的版本相容性表格Node.js。 | |
| Microsoft Teams | Teams 透過聊天、會議、通話等應用程式,在單一位置與您共同作業。 | |
| Microsoft Edge (建議) 或 Google Chrome | 具有開發人員工具的瀏覽器。 | |
| Microsoft 365 開發人員帳戶 | 具有安裝應用程式之適當權限的 Teams 帳戶存取權。 |
準備開發環境
安裝必要的工具之後,請設定開發環境。
安裝 Microsoft 365 代理程式工具組
Microsoft 365 Agents Toolkit (先前稱為 Teams Toolkit) 透過為應用程式佈建和部署雲端資源並發佈到 Teams Store 的工具來協助簡化開發流程。
您可以將 Agents Toolkit 與 Visual Studio Code 搭配使用,或稱為 Microsoft 365 Agents Toolkit CLI (先前稱為 TeamsFx CLI) 的命令列介面。
開啟 Visual Studio Code 並選取 [擴充功能] (Ctrl+Shift+X 或 [檢視>擴充功能]) 。
在搜尋方塊中,輸入 Microsoft 365 Agents Toolkit。
選取 [安裝]。
Microsoft 365 代理程式工具組
圖示會出現在 Visual Studio Code 活動列中。
您也可以從 Visual Studio Code 市集安裝代理程式工具組。
設定您的 Teams 開發租用戶
租用戶是貴組織在 Teams 中的一個空間或容器,您可在這裡聊天、共用檔案和開會。 這個空間也是您上傳和測試應用程式的地方。 讓我們確認您是否已準備好與租用戶一起開發。
檢查 [上傳應用程式] 選項
建立自訂應用程式之後,您必須使用 [ 上傳自訂應用程式 ] 選項,將您的應用程式上傳至 Teams。 登入您的 Microsoft 365 帳戶以檢查此選項是否已啟用。
下列步驟可協助您確認您是否可以在 Teams 中上傳應用程式:
在 Teams 用戶端中,選取 應用程式 圖示。
選取 管理您的應用程式。
選取 [ 上傳應用程式]。
尋找 [ 上傳自訂應用程式] 選項。 如果顯示該選項,您可以上傳自訂應用程式。
注意
如果您找不到上傳自訂應用程式的選項,請連絡您的 Teams 系統管理員。
建立免費的 Teams 開發人員租用戶 (選擇性)
如果您沒有 Teams 開發人員帳戶,請加入 Microsoft 365 開發人員計畫。
選取 [立即加入] ,並依照畫面上的指示操作。
在歡迎畫面中,選取設定 E5 訂閱。
設定您的系統管理員帳戶。 完成後,隨即出現下列畫面:
使用您剛才設定的系統管理員帳戶登入 Teams。 確認您在 Teams 中有 上傳自訂應用程式選項 。
建立主動式訊息機器人
若要使用 Visual Studio Code 建置主動訊息機器人,請遵循下列步驟:
開啟 Visual Studio Code。
選取 Visual Studio Code 活動列中的 Microsoft 365 代理程式工具組
圖示。在左窗格中,選取 [檢視範例]。
從範例清單中選取 [ 主動式傳訊]。 已準備好進行偵錯的預建範例隨即開啟。
選取 [建立]。
選取 [預設資料夾] ,將專案根資料夾儲存在預設位置。
如果您想要變更預設位置,請執行下列步驟:
選取 [瀏覽]。
選取專案工作區的位置。
選取 [選取資料夾]。
主動訊息機器人會在幾秒鐘內建立,並在右下角顯示主動訊息機器人成功對話方塊,其中包含偵錯選項:
選取左上角的 [執行和偵錯
] 圖示。從下拉式清單中選取 [ (Edge) 偵錯 ] 或 [ (Chrome) 偵錯 ]。
偵錯成功時,系統會提示您將主動訊息機器人上傳到本機電腦上的 Teams。
選取 [新增]。
搜尋並選取所需的範圍,或從清單中選取頻道、聊天或會議,然後在對話方塊中移動以選取 [執行]。
主動訊息機器人應用程式會上傳至 Teams 用戶端,且下列訊息會顯示以回應所傳送的訊息。
複製並貼上 URL,或瀏覽至瀏覽器中的 URL。 主動式問候訊息會觸發並在聊天中共用。
移至 Teams。 您會收到來自 Bot 的 主動問候 訊息。
原始程式碼導覽
Agents Toolkit 提供建置應用程式的元件。 建立專案後,您可以在 Visual Studio Code 的 [資源管理器] 區域中檢視專案資料夾和檔案。
新的專案資料夾包含下列內容:
| 資料夾 / 檔案 | 內容 |
|---|---|
.vscode/ |
用於偵錯的 Visual Studio Code 檔案。 |
appManifest/ |
應用程式資訊清單的範本 (先前稱為 Teams 應用程式資訊清單) 。 |
env/ |
名稱/值組儲存在環境檔案中,並 m365agents.yml 用於自訂佈建和部署規則。 |
manifest.json |
透過 Teams 的開發人員入口網站發佈的應用程式資訊清單儲存在 Properties/manifest.json中。 |
m365agents.yml |
主專案檔案描述您的應用程式設定,並定義在每個生命週期階段中執行的動作集。 |
m365agents.local.yml |
這會 m365agents.yml 以啟用本機執行和偵錯的動作覆寫。 |
部署您的主動式訊息機器人
您已經學會了使用主動訊息機器人功能來建置及執行 Teams 應用程式。 讓我們使用 Agents Toolkit 在 Azure 上部署第一個具有主動訊息機器人功能的應用程式。
登入您的 Azure 帳戶
使用您的帳戶存取 Microsoft Azure 入口網站,並佈建新的雲端資源以支援您的應用程式。
開啟 Visual Studio Code。
開啟您建立主動訊息機器人應用程式的專案資料夾。
選取 Visual Studio Code 活動列中的 Microsoft 365 代理程式工具組
圖示。選取 [使用您的認證登入 Azure]。
秘訣
如果您已安裝 AZURE 帳戶擴充功能且使用相同的帳戶,則可以略過此步驟。
您的預設網頁瀏覽器隨即開啟,讓您登入帳戶。
出現提示時關閉瀏覽器,然後返回 Visual Studio Code。
提要欄位的 [帳戶 ] 區段會分別顯示兩個帳戶。 它也會列出可供您使用的可用 Azure 訂閱數量。 請確定您至少有一個可用的 Azure 訂閱。 如果沒有,請登出並使用其他帳戶。
將應用程式部署到 Azure
部署包含兩個步驟。 首先,建立必要的雲端資源 (也稱為佈建) 。 然後,您的應用程式程式碼會複製到建立的雲端資源中。 在本教學課程中,您將部署 Bot 應用程式。
佈建和部署之間有什麼不同?
[佈建] 會在 Azure 和 Microsoft 365 中為您的應用程式建立資源,但不會將 HTML、CSS 和 JavaScript) (程式碼複製到資源。
部署 會將應用程式的程式碼複製到佈建期間建立的資源。 在未佈建新資源的情況下進行多次部署是很常見的。 由於佈建可能需要一些時間才能完成,因此與部署是分開的。
選取 Visual Studio Code 活動列中的 Microsoft 365 代理程式工具組
圖示。選取 [生命週期] 底下的 [佈建]。
選取其中一個現有訂閱。
選取現有的資源群組或建立新的資源群組。 如需詳細資訊,請參閱 建立資源群組。
注意
此時會出現一個對話方塊,提及在 Azure 中執行資源時可能會產生成本。
選取 [佈建]。
佈建程序會在 Azure 雲端中建立資源。 您可以在右下角顯示的對話方塊中監控進度。 幾分鐘後,隨即出現下列對話方塊:
選取 [生命週期] 底下的 [部署]。
選取 [部署]。
部署需要一些時間。 您可以在右下角顯示的對話方塊中監控進度。 幾分鐘後,會出現下列對話方塊。
(Ctrl+Shift+D / ⌘⇧-D開啟偵錯面板,或>從 Visual Studio Code 檢視執行) 。
從啟動設定下拉式清單中選取 啟動遠端 (Edge) 。
偵錯成功時,系統會提示您將主動訊息機器人應用程式上傳到 Teams。
選取 [新增]。
搜尋並選取所需的範圍,或從清單中選取頻道、聊天或會議,然後在對話方塊中移動以選取 [執行]。
主動訊息機器人應用程式會上傳至 Teams 用戶端,且下列訊息會顯示以回應所傳送的訊息。
複製並貼上 URL,或瀏覽至瀏覽器中的 URL。 主動式問候訊息會觸發並在聊天中共用。
移至 Teams。 您會收到來自 Bot 的 主動問候 訊息。
完成挑戰
你想出這樣的東西嗎?
您已完成案例。
- 您可以每天發送通知或定期請求用戶的反饋。
- 您可以處理節流限制以避免多個通知。
建置 API 型訊息擴充功能
使用 API (API 型) 建立的訊息擴充功能可讓 Teams 應用程式與外部服務互動,大幅增強其功能。 基於 API 的訊息擴充功能可以減少在不同應用程式之間切換的需要,從而幫助簡化工作流程。
教學課程:建置 API 型訊息擴充功能
注意
API 型訊息擴充功能僅支援搜尋命令。
您可以使用 API 型訊息擴充功能來整合商務工作流程中常用的外部服務。 例如,經常使用 CRM 系統進行客戶管理的企業,可以使用訊息擴充功能直接從 Teams 擷取和顯示客戶資料。 該應用程式透過減少在不同應用程式之間切換的需要來節省時間並提高效率。 此功能可在 Teams 可用的所有平台上受到支援,包括桌面、Web 和行動裝置。
建置訊息擴充功能的必要條件
以下是建置和部署應用程式所需的工具清單。
| 安裝 | 用於使用... |
|---|---|
| Microsoft Teams | Microsoft Teams 透過聊天、會議或通話應用程式,與共同作業的每個人共同作業 - 全都在一個地方完成。 |
| Microsoft Edge (建議) 或 Google Chrome | 具有開發人員工具的瀏覽器。 |
| Visual Studio Code | JavaScript、TypeScript 或 SharePoint 架構 (SPFx) 建置環境。 使用 1.55 版或更新版本。 |
| Microsoft 365 開發人員帳戶 | 具有安裝應用程式之適當權限的 Teams 帳戶存取權。 |
| Azure 帳戶 | 存取 Azure 資源。 |
| OAD) 文件 (OpenAPI 描述 | 描述 API 功能的文件。 如需詳細資訊,請參閱 OpenAPI 描述。 |
設定您的 Teams 開發租用戶
租用戶就像是貴組織在 Teams 中的一個空間或容器,您可以在其中聊天、共用檔案和召開會議。 此空間也是您上傳和測試自訂應用程式的地方。 讓我們確認您是否已準備好與租用戶一起開發。
檢查自訂應用程式上傳選項
建立應用程式之後,您必須在 Teams 中載入應用程式,而不要將其發佈。 此程序稱為自訂應用程式上傳。 請登入您的 Microsoft 365 帳戶以檢視此選項。
注意
若要在 Teams 本機環境中預覽和測試應用程式,必須上傳自訂應用程式。 如果未啟用,您就無法在 Teams 本機環境中預覽和測試您的應用程式。
您是否已經有租用戶,而且您是否擁有系統管理員存取權? 讓我們檢查一下您是否真的這樣做!
確認您是否可以在 Teams 中上傳自訂應用程式:
在 Teams 用戶端中,選取 應用程式 圖示。
選取 管理您的應用程式。
選取 [ 上傳應用程式]。
尋找 [ 上傳自訂應用程式] 選項。 如果您看到該選項,表示已啟用自訂應用程式上傳。
注意
如果您找不到上傳自訂應用程式的選項,請與您的 Teams 系統管理員連絡。
建立免費的 Teams 開發人員租用戶 (選擇性)
如果您沒有 Teams 開發人員帳戶,您可以免費取得。 加入 Microsoft 365 開發人員計畫!
選取 [立即加入] ,並依照畫面上的指示操作。
在歡迎畫面中,選取設定 E5 訂閱。
設定您的系統管理員帳戶。 完成後,會出現下列畫面。
使用您剛才設定的系統管理員帳戶登入 Teams。 確認您在 Teams 中有 上傳自訂應用程式選項 。
取得免費的 Azure 帳戶
如果您想要在 Azure 中託管您的應用程式或存取資源,您必須擁有 Azure 訂閱。 開始之前先建立免費帳戶。
您已擁有設定帳戶的所有工具。 接下來,讓我們設定您的開發環境並開始建置吧! 選取您要先建置的應用程式。
建立 OpenAPI 描述文件
OpenAPI 描述 (OAD) 是業界標準規格,概述了 OpenAPI 檔案的結構化和概述方式。 這是一種與語言無關、人類可讀的描述 API 格式。 人類和機器都可以輕鬆閱讀和書寫。 架構是機器可讀的,並以 YAML 或 JSON 表示。
若要與 API 互動,需要 OpenAPI 描述文件。 OpenAPI 描述文件必須符合下列準則:
auth不得指定屬性。JSON 和 YAML 是支援的格式。
支援 OpenAPI 2.0 和 3.0.x 版。
Teams 不支援 oneOf、anyOf、allOf 及 Not (swagger.io) 建構。
不支援為要求建構陣列,不過支援 JSON 要求主體內的巢狀物件。
要求主體 (如果存在) 必須是 application/Json,以確保與各種 API 相容。
定義屬性的
servers.urlHTTPS 通訊協定伺服器 URL。僅支援單一參數搜尋。
只允許一個沒有預設值的必要參數。
僅支援 POST 和 GET HTTP 方法。
OpenAPI 描述文件必須具有
operationId。沒有預設值的作業不得要求 Header 或 Cookie 參數。
一個命令必須只有一個參數。
確保 OpenAPI 描述文件中沒有遠端參考。
具有預設值的必要參數被視為選用。
我們使用下列 OpenAPI 描述做為本教學課程的範例:
OpenAPI 說明
openapi: 3.0.1 info: title: OpenTools Plugin description: A plugin that allows the user to find the most appropriate AI tools for their use cases, with their pricing information. version: 'v1' servers: - url: https://gptplugin.opentools.ai paths: /tools: get: operationId: searchTools summary: Search for AI Tools parameters: - in: query name: search required: true schema: type: string description: Used to search for AI tools by their category based on the keywords. For example, a search for "tool to create music" provides a list of tools that can create music. responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/searchToolsResponse' "400": description: Search Error content: application/json: schema: ref: '#/components/schemas/searchToolsError' components: schemas: searchToolsResponse: required: - search type: object properties: tools: type: array items: type: object properties: name: type: string description: The name of the tool. opentools_url: type: string description: The URL to access the tool. main_summary: type: string description: A summary of what the tool is. pricing_summary: type: string description: A summary of the pricing of the tool. categories: type: array items: type: string description: The categories assigned to the tool. platforms: type: array items: type: string description: The platforms that this tool is available on. description: The list of AI tools. searchToolsError: type: object properties: message: type: string description: Message of the error.注意
請確定屬性
required: true僅適用於一個參數。 如果有多個必要參數,您可以針對其他參數將 required 屬性required: false更新。
您可以驗證 OpenAPI 描述文件是否有效。 若要確認,請依照下列步驟執行:
請移至 Swagger 或 OpenAPI 驗證程式 ,並驗證 OpenAPI 描述文件。
儲存 OpenAPI 描述文件。
移至 Swagger 編輯器。
在左窗格中,在編輯器中貼上 OpenAPI 描述。
在右窗格中,選取 [GET]。
選取 [試試看]。
將 搜尋 參數的值輸入為 「工具」以創建音樂。
選取 [執行]。 Swagger 編輯器會顯示含有產品清單的回應。
移至 [伺服器回應>正文]。
在 下
products,複製清單中的第一個產品,並儲存以供日後參考。
建立回應轉譯範本
OpenAPI 描述文件需要回應轉譯範本,讓應用程式回應 GET 或 POST 要求。 回應轉譯範本包含 [調適型卡片] 範本、[預覽] 卡片範本和中繼資料。
自適性卡片範本
若要建立調適型卡片範本,請遵循下列步驟:
前往 ChatGPT ,在郵件撰寫區域中詢問下列查詢:
Create an Adaptive Card Template that binds to the following response: "categories": [ "Music Generation", "AI Detection" ], "chatbot_short_url": "https://goto.opentools.ai/c/ai-music-generator", "main_summary": "AI Music Generator is an AI-powered music composing tool that allows users to create original and personalized music for various purposes. It can generate melodies, harmonies, and rhythms tailored to specific needs and preferences, with customization options such as genre, mood, length, and instrumentation. The tool is designed for creative individuals, from beginners to professionals, and can produce high-quality music in seconds. Every generated piece of music is royalty-free and can be used instantly, with no limitations on beat creation. With advanced AI technology, AI Music Generator makes music production accessible to everyone.", "name": "AI Music Generator", "opentools_url": "https://goto.opentools.ai/ai-music-generator", "platforms": [ "Web", "App", "API" ]選取 傳送訊息。
ChatGPT 會使用繫結到範例資料的調適型卡片範本產生回應。 儲存調適型卡片範本以供日後參考。
以下是調適型卡片範本的範例:
自適性卡片範本
{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.4", "body": [ { "type": "TextBlock", "text": "AI Music Generator", "weight": "Bolder", "size": "Large" }, { "type": "TextBlock", "text": "Categories", "size": "Medium" }, { "type": "TextBlock", "text": "Music Generation, AI Detection", "wrap": true }, { "type": "TextBlock", "text": "Description", "size": "Medium" }, { "type": "TextBlock", "text": "AI Music Generator is an AI-powered music composing tool that allows users to create original and personalized music for various purposes. It can generate melodies, harmonies, and rhythms tailored to specific needs and preferences, with customization options such as genre, mood, length, and instrumentation. The tool is designed for creative individuals, from beginners to professionals, and can produce high-quality music in seconds. Every generated piece of music is royalty-free and can be used instantly, with no limitations on beat creation. AI Music Generator is powered by advanced AI technology, and it makes music production accessible to everyone.", "wrap": true }, { "type": "TextBlock", "text": "Platform", "size": "Medium" }, { "type": "TextBlock", "text": "Web, App, API", "wrap": true } ], "actions": [ { "type": "Action.OpenUrl", "title": "Learn More", "url": "https://goto.opentools.ai/ai-music-generator" }, { "type": "Action.OpenUrl", "title": "Try It", "url": "https://goto.opentools.ai/c/ai-music-generator" } ] }若要驗證產生的自適性卡片是否繫結至範例資料,請遵循下列步驟:
移至 [選取主應用程式],然後從下拉式清單中選取 [Microsoft Teams ]。
移至 [卡片承載編輯器 ],並貼上 [自適性卡片] 範本程式碼。
移至 [範例資料編輯器 ],並貼上您先前儲存的 GET API 回應。
選取 預覽模式。 自適性卡片設計工具會顯示自適性卡片,其中包含將回應繫結至範本的資料。
建立預覽卡片範本
預覽卡片範本可以包含 title、 subtitle及 image 屬性。 如果 API 回應沒有影像,您可以移除影像屬性。
以下是預覽卡片範本的範例:
預覽卡片範本
"previewCardTemplate": {
"title": "${if(name, name, 'N/A')}",
"subtitle": "$${if(price, price, 'N/A')}"
}
建立 和 subtitle的 title if 條件,其中:
- 如果名稱存在,Bot 會使用該名稱。
- 如果名稱不存在,Bot 會使用 NA。
例如, "title": "Name: ${if(name, name, 'N/A')}".
儲存預覽卡範本以供日後參考。
回應轉譯範本
回應轉譯範本必須符合託管在 https://developer.microsoft.com/json-schemas/teams/v1.20/MicrosoftTeams.ResponseRenderingTemplate.schema.json的結構描述。
若要建立回應轉譯範本,請遵循下列步驟:
建立 JSON 檔案,並將下列程式碼新增至該檔案:
{ "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.20/MicrosoftTeams.ResponseRenderingTemplate.schema.json", "version": "1.0", "jsonPath": "", "responseLayout": "", "responseCardTemplate": { }, "previewCardTemplate": { } }更新回應轉譯範本中的屬性,如下所示:
# 物業名稱 值 1. "$schema""https://developer.microsoft.com/json-schemas/teams/v1.20/MicrosoftTeams.ResponseRenderingTemplate.schema.json"2. "version""1.0"
version是要使用的轉譯範本版本。3. "jsonPath""tools"
jsonPath是回應 JSON 回應中的一或多個結果的路徑。 在 API 回應中,從產品清單新增 的相關jsonPath資料/陣列。 在此情況下,jsonPath它是工具。 如需如何判斷 JSON 路徑的詳細資訊,請參閱 使用 JSON 路徑查詢 JSON。4. "responseLayout""list"
responseLayout指定附件的版面配置。 用於類型結果的回應。 支援的類型為清單和格線。 如果回應正文包含具有文字、標題和影像等多個元素的物件,則回應版面配置必須設定為list。 如果 API 回應只包含影像或縮圖,則回應版面配置必須設定為grid。5. "responseCardTemplate"貼上您先前儲存的自適性卡片範本程式碼。
responseCardTemplate是將JSON回應對應至自適性卡片的自適性卡片範本。6. "previewCardTemplate"貼上您先前儲存的預覽卡範本程式碼。
previewCardTemplate是預覽卡片範本,可用來在郵件擴充功能飛出視窗中顯示結果預覽。將回應轉譯範本儲存在您儲存 OpenAPI 描述文件的相同資料夾中。
下列程式碼是回應轉譯範本的範例:
回應轉譯範本
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.20/MicrosoftTeams.ResponseRenderingTemplate.schema.json",
"version": "1.0",
"jsonPath": "tools",
"responseLayout": "list",
"responseCardTemplate": {
"type": "AdaptiveCard",
"version": "1.4",
"body": [
{
"type": "TextBlock",
"text": "AI Music Generator",
"weight": "Bolder",
"size": "Large"
},
{
"type": "TextBlock",
"text": "Categories",
"size": "Medium"
},
{
"type": "TextBlock",
"text": "Music Generation, AI Detection",
"wrap": true
},
{
"type": "TextBlock",
"text": "Description",
"size": "Medium"
},
{
"type": "TextBlock",
"text": "AI Music Generator is an AI-powered music composing tool that allows users to create original and personalized music for various purposes. It can generate melodies, harmonies, and rhythms tailored to specific needs and preferences, with customization options such as genre, mood, length, and instrumentation. The tool is designed for creative individuals, from beginners to professionals, and can produce high-quality music in seconds. Every generated piece of music is royalty-free and can be used instantly, with no limitations on beat creation. With advanced AI technology, AI Music Generator makes music production accessible to everyone.",
"wrap": true
},
{
"type": "TextBlock",
"text": "Platform",
"size": "Medium"
},
{
"type": "TextBlock",
"text": "Web, App, API",
"wrap": true
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "Learn More",
"url": "https://goto.opentools.ai/ai-music-generator"
},
{
"type": "Action.OpenUrl",
"title": "Try It",
"url": "https://goto.opentools.ai/c/ai-music-generator"
}
]
},
"previewCardTemplate": {
"title": "${if(name, name, 'N/A')}",
"subtitle": "$${if(price, price, 'N/A')}"
}
}
建立應用程式資訊清單
現在,您需要建立應用程式資訊清單 (先前稱為 Teams 應用程式資訊清單) 。 應用程式資訊清單會說明您的應用程式如何整合至 Microsoft Teams 產品。
建立 Teams 應用程式資訊清單
若要建立資訊清單,請遵循下列步驟:
建立新的 JSON 檔案。 您的應用程式資訊清單必須符合 應用程式資訊清單結構描述中定義的結構描述 1.20 版本。
將下列程式碼新增至 JSON 檔案:
應用程式資訊清單
{ "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.20/MicrosoftTeams.schema.json", "manifestVersion": "1.20", "version": "1.0.3", "id": "<<YOUR-MICROSOFT-APP-ID>>", "packageName": "com.microsoft.teams.extension", "developer": { "name": "Teams App, Inc.", "websiteUrl": "https://www.example.com", "privacyUrl": "https://www.example.com/termofuse", "termsOfUseUrl": "https://www.example.com/privacy" }, "icons": { "color": "color.png", "outline": "outline.png" }, "name": { "short": "Search ME API", "full": "Search ME API full" }, "description": { "short": "product app for testing API Message Extensions", "full": "product app for testing API Message Extensions" }, "accentColor": "#FFFFFF", "composeExtensions": [ { "composeExtensionType": "", "apiSpecificationFile": "", "commands": [ { "context": [ "compose" ], "type": "query", "title": "API for fetching Klarna.", "id": "", "parameters": [ { "name": "", "title": "", "description": "" } ], "description": "", "apiResponseRenderingTemplateFile": "" } ] } ], "permissions": [ "identity", "messageTeamMembers" ], "validDomains": [] }更新應用程式資訊清單屬性,如下所示:
-
<<YOUR-MICROSOFT-APP-ID>>取代為 Bot 的 Microsoft 應用程式識別碼。 - 將 的值
composeExtensionType更新為apiBased。 - 將 的
apiSpecificationFile值更新為 OpenAPI 描述檔案的路徑。 - 將 的值
commands.id更新為searchTools。 - 將 的值
commands.title更新為Search for AI Tools。 - 將 的值
commands.description更新為Search for AI Tools。 - 將 的值
parameters.name更新為search。 如果沒有參數,則值必須是查詢參數,或者properties.name如果參考要求主體架構中的屬性。 - 更新為
apiResponseRenderingTemplateFile回應轉譯範本檔案的路徑。 - 將 的
validDomains值更新為service URLOpenAPI 描述檔案中定義的端點。
-
將 Teams 應用程式資訊清單儲存在儲存 OpenAPI 描述文件和回應轉譯範本的相同資料夾中。
您需要彩色影像和外框影像。 這些影像應該包含在資料夾中,並在 Teams 應用程式資訊清單中參照。
將資料夾的內容壓縮。 zip 檔案必須包含下列檔案:
- OpenAPI 描述文件
- 回應轉譯範本
- 應用程式資訊清單
- 色彩圖示
- 大綱圖示
將自訂應用程式上傳至 Teams
登入 Teams 測試環境以在 Teams 中測試您的應用程式。 若要在 Teams 中上傳自訂應用程式,請遵循下列步驟:
移至 Microsoft Teams 並使用您的測試租用戶認證登入。
移至 [應用程式] [管理>您的應用程式>] [上傳應用程式]。
選取 [上傳自訂的應用程式]。
選取建立的 zip 檔案,然後選取 [ 開啟]。
選取 [新增]。
選取 [開啟]。
移至聊天,然後選取 + 郵件撰寫區域,然後搜尋您的應用程式。
選取應用程式並進行搜尋查詢。
應用程式會在聊天視窗中以 [調適型卡片] 回應。
選取 [傳送]。
恭喜! 你成功了! 您已了解如何使用 OpenAPI 描述文件建立 API 型訊息擴充功能。
建立以動作為基礎的訊息擴充功能
Teams 動作型訊息擴充功能可讓使用者與 Microsoft Teams 用戶端中的 Web 服務互動。 訊息擴充功能可協助在外部系統中,從撰寫郵件區域、命令方塊或直接從郵件啟動動作。
教學課程:建置以動作為基礎的訊息擴充功能
基於動作的訊息擴充功能的主要特點:
- 向使用者顯示強制回應快顯視窗,以收集或顯示資訊。
- 從撰寫郵件區域、命令方塊或從郵件觸發動作命令。
此逐步指南可協助您建立 Teams 動作型訊息擴充功能,以從撰寫訊息和訊息區域啟動動作。 在本教學課程結束時,您可以達成下列輸出:
先決條件
請確定您已安裝下列工具並設定開發環境:
| 安裝 | 用於使用... | |
|---|---|---|
| Microsoft Teams | Microsoft Teams 透過在同一個位置進行聊天、會議和通話的應用程式,與共同作業的每個人共同作業。 | |
| Visual Studio 2022 | 您可以在 Visual Studio 2022 中安裝企業版,並安裝 ASP.NET 和網頁開發工作負載。 使用最新版本。 | |
| .NET Core SDK | 適用於本機偵錯和 Azure Functions 應用程式部署的自訂繫結。 如果您尚未安裝最新版本,請安裝可攜式版本。 | |
| Dev 通道 | Teams 應用程式功能 (交談機器人、訊息擴充功能,以及需要輸入連線) 傳入 Webhook。 通道會將您的開發系統連線至 Teams。 Dev 通道是一個強大的工具,可以安全地將您的本地主機開放至互聯網並控制誰有權訪問。 Dev 通道可在 Visual Studio 2022 版本 17.7.0 或更新版本中使用。 或 您也可以使用 ngrok 做為通道,將您的開發系統連線至 Teams。 對於只包含索引標籤的應用程式而言,不需要此設定。 此套件是使用 npm devDependencies) 安裝在專案目錄 (中。 |
注意
下載 ngrok 之後,請註冊並安裝 authtoken。
設定本機環境
選取 [代碼]。
從下拉式功能表中,選取 [使用 GitHub Desktop 開啟]。
選取 [複製]。
註冊 Microsoft Entra 應用程式
下列步驟可協助您在 Azure 入口網站中建立及註冊您的 Bot:
- 建立並註冊您的 Azure 應用程式。
- 建立用戶端密碼以啟用 Bot 的 SSO 驗證。
- 新增 Teams 頻道以部署 Bot。
- 使用建議的) 或 ngrok (開發人員通道建立到 Web 伺服器端點的通道。
- 將訊息端點新增至您建立的開發通道。
新增應用程式註冊
移至 Azure 入口網站。
選取應用程式註冊。
選取 [+ 新增註冊]。
輸入您應用程式的名稱。
選取 [任何組織目錄中的帳戶] ([任何Microsoft Entra ID租用戶 - 多租用戶) ]。
選取 [註冊]。
您的應用程式已在 Microsoft Entra ID 中註冊。 應用程式概觀頁面隨即顯示。
注意
將 應用程式 (用戶端 的應用程式識別碼儲存) 和 目錄 (租用戶) 識別碼 ,以供進一步使用。
建立通道
請遵循下列兩種方法之一建立通道。
開啟 Visual Studio。
選取 建立新專案。
在搜尋方塊中輸入 ASP.NET。 從搜尋結果中選取 [ASP.NET Core Web App]。
選取 [下一步]。
輸入 專案名稱 ,然後選取 [下一步]。
選取 [建立]。
隨即顯示一個概觀視窗。
在偵錯下拉式清單中,選取 [ 開發人員通道] ([沒有使用中通道]) >[建立通道...]。
隨即顯示一個快顯視窗。
在快顯視窗中更新下列詳細資料:
- 帳戶:輸入 Microsoft 或 GitHub 帳戶。
- 名稱:輸入通道的名稱。
- 通道類型:從下拉式清單中選取 [暫時]。
- 存取:從下拉式清單中選取 [公用]。
選取 [確定]。
此時會出現一個快顯視窗,顯示已成功建立開發人員通道。
選取 [確定]。
您可以在偵錯下拉式清單中找到您建立的通道,如下所示:
選取 F5 以偵錯模式執行應用程式。
如果出現 [安全性警告] 對話方塊,請選取 [是]。
隨即顯示一個快顯視窗。
選取 [繼續]。
Dev 通道首頁會在新的瀏覽器視窗中開啟,且 Dev 通道現在為使用中。
移至 Visual Studio,選取 [檢視 > 輸出]。
從 [輸出 主控台] 下拉式功能表中,選取 [開發人員通道]。
輸出主控台顯示開發通道 URL。
新增 Web 驗證
在左側窗格的 [管理] 底下,選取 [驗證]。
選取 [新增平台>Web]。
輸入應用程式的重新導向 URI,方法是附加
auth-end至完整網域名稱。 例如,https://your-devtunnel-domain/auth-end或https://your-ngrok-domain/auth-end。在 [隱含授權和混合式流程] 底下,選取 [存取權杖 ] 和 [識別碼權杖] 核取方塊。
選取 [設定]。
在 [Web] 下,選取 [新增 URI]。
輸入
https://token.botframework.com/.auth/web/redirect。選取 [儲存]。
建立用戶端密碼
注意
如果您遇到「 全租用戶原則會封鎖用戶端密碼」錯誤。請與您的租用戶系統管理員連絡以取得詳細資訊。,您可以改為建立憑證。 如需逐步指示,請參閱建立 應用程式註冊的憑證。
在左側窗格的 [管理] 底下,選取 [憑證 & 秘密]。
在 [用戶端密碼] 底下,選取 [+ 新增用戶端密碼]。
新增 用戶端密碼 視窗隨即出現。
輸入 描述。
選取 [新增]。
在 [值] 底下,選取 [複製到剪貼簿] 以儲存用戶端密碼值以供進一步使用。
新增 API 權限
在左窗格中,選取 API 權限。
選取 [+ 新增權限]。
選取 [Microsoft Graph]。
選取 [委派的權限]。
選取 [使用者>User.Read]。
選取 [新增權限]。
注意
- 如果應用程式未獲得 IT 系統管理員同意,使用者必須在第一次使用應用程式時提供同意。
- 只有當 Microsoft Entra 應用程式已在不同的租用戶中註冊時,使用者才需要同意 API 權限。
新增應用程式識別碼 URI
在左側窗格的 [管理] 底下,選取 [ 公開 API]。
在 應用程式識別碼 URI 旁邊,選取 [新增]。
以
api://botid-{AppID}格式更新應用程式識別碼 URI,然後選取 [儲存]。
新增範圍
在左側窗格的 [管理] 底下,選取 [ 公開 API]。
選取 [+ 新增範圍]。
輸入 access_as_user 做為 範圍名稱。
在 [ 誰可以同意?] 底下,選取 [系統管理員和使用者]。
更新其餘欄位的值,如下所示:
輸入 Teams 可以存取使用者的設定檔作為管理員同意顯示名稱。
Enter 允許 Teams 以目前使用者身分呼叫應用程式的 Web API,作為管理員同意描述。
輸入 Teams 可以存取使用者設定檔,並代表使用者提出要求 ,作為 使用者同意顯示名稱。
輸入 [允許 Teams 以與使用者相同的權限呼叫此應用程式的 API ] 作為使用者 同意描述。
確定 [狀態 ] 已設定為 [已啟用]。
選取 [新增範圍]。
下圖顯示欄位和值:
注意
範圍名稱必須與應用程式識別碼 URI 相符,
/access_as_user並在結尾附加。
新增用戶端應用程式
在左側窗格的 [管理] 底下,選取 [ 公開 API]。
在 [授權的用戶端應用程式] 底下,識別您要為應用程式的 Web 應用程式授權的應用程式。
選取 [+ 新增用戶端應用程式]。
新增 Teams 行動裝置或桌面和 Teams Web 應用程式。
對於 Teams 行動裝置或桌面版:將 用戶端識別碼 輸入為
1fec8e78-bce4-4aaf-ab1b-5451cc387264。
針對 Teams Web:將 用戶端識別碼 輸入為
5e3ce6c0-2b1f-4285-8d4b-75ee78787346。
選取 [ 授權範圍 ] 核取方塊。
選取 [新增應用程式]。
下圖顯示 用戶端識別碼:
建立您的 Bot
建立 Azure Bot 資源
注意
如果您已經在 Teams 中測試您的 Bot,請登出此應用程式和 Teams。 若要查看此變更,請重新登入。
移至 [首頁]。
選取 [+ 建立資源]。
在搜尋方塊中,輸入 Azure Bot。
選取 Enter。
選取 Azure Bot。
選取 [建立]。
在 [Bot 控點] 中輸入機器人名稱。
從下拉式清單中選取您的 訂閱 。
從下拉式清單中選取您的 資源群組 。
如果您沒有現有的資源群組,您可以建立新的資源群組。 若要建立新的資源群組,請遵循下列步驟:
- 選取 [建立新項目]。
- 輸入資源名稱,然後選取 [確定]。
- 從 [新增資源群組位置] 下拉式清單選取位置。
在 [定價] 底下,選取 [變更方案]。
選取 FO Free>Select。
在 [Microsoft 應用程式識別碼] 底下,選取 [ 應用程式類型 ] 做 為 [多租用戶]。
在 建立類型中,選取 使用現有的應用程式註冊。
輸入 應用程式識別碼。
注意
您無法建立多個具有相同 Microsoft 應用程式識別碼的 Bot。
選取 [檢閱 + 建立]。
驗證通過之後,選取 [建立]。
Bot 需要幾分鐘的時間來佈建。
選取 [移至資源]。
您已成功建立 Azure Bot。
新增 Teams 頻道
在左窗格中,選取 頻道。
在 [可用頻道] 底下,選取 [Microsoft Teams]。
選取核取方塊以接受 服務條款。
選取 [同意]。
選取 [套用]。
新增訊息端點
使用下列其中一種方式來新增訊息端點:
使用 輸出 主控台中的開發通道 URL 作為訊息端點。
在左側窗格的 [設定] 底下,選取 [設定]。
以下列格式
https://your-devtunnel-domain/api/messages更新訊息端點。
選取 [套用]。
您已在 Azure Bot 服務中成功設定 Bot。
注意
如果 Application Insights Instrumentation 金鑰 顯示錯誤,請使用 應用程式識別碼進行更新。
設定應用程式設定和資訊清單檔案
移至複製存放庫中的 appsettings.json 檔案。
開啟 appsettings.json 檔案並更新下列資訊:
- 設定
"MicrosoftAppId"為 Bot 的 Microsoft 應用程式識別碼。 - 設定
"MicrosoftAppPassword"為 Bot 的用戶端密碼識別碼 值。 - 設定
ConnectionName為 OAuth 連線名稱。 - 設定
"MicrosoftAppType"為 MultiTenant。 - 設定
"MicrosoftAppTenantId"為 常見。
- 設定
移至複製存放庫中的 manifest.json 檔案。
開啟 manifest.json 檔案並更新下列變更:
- 以您的 Microsoft 應用程式識別碼取代所有出現的項目
"{TODO: MicrosoftAppId}"。 - 設定
"<<domain-name>>"為您的 ngrok 或開發人員通道網域。
- 以您的 Microsoft 應用程式識別碼取代所有出現的項目
建置及執行服務
若要建置及執行服務,請使用 Visual Studio 或命令列。
開啟 Visual Studio。
移至 [檔案>]、[開啟>專案/解決方案]....
從 csharp 資料夾中,選取 TeamsMessagingExtensionsAction.csproj 檔案。
按 F5 執行專案。
如果出現下列對話方塊,請選取 [是 ]:
網頁隨即出現,其中顯示一則訊息「 您的 Bot 已準備就緒!」。
將動作訊息擴充功能應用程式新增至 Teams
在複製的存放庫中,移至 範例>msgext-action>csharp>TeamsAppManifest。
使用下列位於 Manifest 資料夾中的檔案建立 .zip:
- manifest.json
- icon-outline.png
- icon-color.png
在 Teams 用戶端中,選取 應用程式 圖示。
選取 管理您的應用程式。
選取 [ 上傳應用程式]。
尋找 [ 上傳自訂應用程式] 選項。 如果您看到該選項,表示已啟用自訂應用程式上傳。
注意
如果您找不到上傳自訂應用程式的選項,請與您的 Teams 系統管理員連絡。
選取 [ 開啟 ] 以上傳您在 TeamsAppManifest 資料夾中建立的 messaging.zip 檔案。
選取 [新增]。
選取 [ 開啟] 以在個人範圍內開啟應用程式。
或者,您可以搜尋並選取所需的範圍,或從清單中選取頻道、聊天或會議,然後在對話方塊中移動以選取 [執行]。
在 Teams 中與應用程式互動
從撰寫方塊命令清單中選取 [建立卡片 ] 命令。
在強制回應快顯視窗中輸入您的資訊。
選取 [提交]。
從溢位功能表中選取 [其他選項] (...) 。
選取 [其他動作>] [共用郵件]。
如果您想要包含影像,請選取 [在英雄卡片中包含影像 ] 核取方塊,然後選取 [提交]。
完成挑戰
你想出這樣的東西嗎?
您已完成開始使用 [動作訊息擴充功能 ] 應用程式的教學課程!
使用 SSO 驗證建置 Bot
Microsoft Teams 中的交談機器人會執行由使用者起始的重複自動化工作,例如客戶服務。 使用者必須多次登入,而不需要單一登入 (SSO) 驗證。 使用 SSO 驗證方法時,使用者不需要多次登入 Bot。
教學課程:使用 SSO 驗證建置 Bot
根據 Bot 所參與的交談,Bot 的行為會有所不同:
- 頻道和群組聊天交談中的 Bot 需要使用者使用 @mention Bot。
- 一對一交談中的 Bot 不需要 @mention。 使用者傳送的所有訊息都會路由傳送至 Bot。
本逐步指南可協助您使用 SSO 驗證建立 Bot。 您會看到下列輸出:
建置 Bot 的必要條件
請確定您已安裝下列工具並設定開發環境:
| 安裝 | 用於使用... |
|---|---|
| Microsoft Teams | Microsoft Teams 透過聊天、會議和通話應用程式,與您一起工作的每個人共同作業。 |
| Visual Studio 2022 | 您可以在 Visual Studio 2022 中安裝企業版,並安裝 ASP.NET 和網頁開發工作負載。 使用最新版本。 |
| Microsoft 365 開發人員帳戶 | 具有安裝應用程式之適當權限的 Teams 帳戶存取權。 |
| Dev 通道 | Teams 應用程式功能 (交談機器人、訊息擴充功能,以及需要輸入連線) 傳入 Webhook。 通道會將您的開發系統連線至 Teams。 Dev 通道是一個強大的工具,可以安全地將您的本地主機開放至互聯網並控制誰有權訪問。 Dev 通道可在 Visual Studio 2022 版本 17.7.0 或更新版本中使用。 或 您也可以使用 ngrok 做為通道,將您的開發系統連線至 Teams。 對於只包含索引標籤的應用程式而言,不需要此設定。 此套件是使用 npm devDependencies) 安裝在專案目錄 (中。 |
注意
下載 ngrok 之後,請註冊並安裝 authtoken。
設定 Teams 開發租用戶
租用戶就像是一個空間或容器,您可以在其中為組織在 Teams 中聊天、共用檔案和開會。 您也可以上傳並測試自訂應用程式。
檢查自訂應用程式上傳選項
建立應用程式之後,您必須在 Teams 中載入應用程式,而不要將其發佈。 此程序稱為自訂應用程式上傳。 請登入您的 Microsoft 365 帳戶以檢視此選項。
注意
若要在 Teams 本機環境中預覽和測試應用程式,必須上傳自訂應用程式。 啟用應用程式上傳功能,以在本機 Teams 中預覽及測試您的應用程式。
您是否已經有租用戶,而且您是否擁有系統管理員存取權? 讓我們檢查一下您是否真的這樣做!
若要驗證 Teams 中的自訂上傳應用程式:
在 Teams 用戶端中,選取 應用程式 圖示。
選取 管理您的應用程式。
選取 [ 上傳應用程式]
尋找 [ 上傳自訂應用程式] 選項。 如果您看到該選項,表示已啟用自訂應用程式上傳。
注意
如果您沒有上傳自訂應用程式的選項,請連絡 Teams 系統管理員。
建立免費的 Teams 開發人員租用戶
如果您沒有 Teams 開發人員帳戶,您可以免費取得。 加入 Microsoft 365 開發人員計畫!
選取 [立即加入] ,並依照畫面上的指示操作。
在歡迎畫面中,選取 [ 設定 E5 訂閱]。
設定系統管理員帳戶。 完成後,將顯示下列畫面。
使用您剛設定的新系統管理員帳戶登入 Teams。 確認您在 Teams 中有 上傳自訂應用程式選項 。
設定本機環境
請依照下列步驟複製存放庫:
選取 [代碼]。
從下拉式功能表中,選取 [使用 GitHub Desktop 開啟]。
選取 [複製]。
註冊 Microsoft Entra 應用程式
下列步驟可協助您在 Azure 入口網站中建立及註冊您的 Bot:
- 建立並註冊您的 Azure 應用程式。
- 建立用戶端密碼以啟用 Bot 的 SSO 驗證。
- 新增 Teams 頻道以部署 Bot。
- 使用建議的) 或 ngrok (開發人員通道建立到 Web 伺服器端點的通道。
- 將訊息端點新增至您建立的開發通道。
新增應用程式註冊
移至 Azure 入口網站。
選取應用程式註冊。
選取 [+ 新增註冊]。
輸入您應用程式的名稱。
視需要選取租用戶選項。
選取 [註冊]。
您的應用程式已在 Microsoft Entra ID 中註冊。 應用程式概觀頁面隨即顯示。
注意
將 應用程式 (用戶端 的應用程式識別碼儲存) 和 目錄 (租用戶) 識別碼 ,以供進一步使用。
建立通道
請遵循下列兩種方法之一建立通道。
開啟 Visual Studio。
選取 建立新專案。
在搜尋方塊中輸入 ASP.NET。 從搜尋結果中選取 [ASP.NET Core Web App]。
選取 [下一步]。
輸入 專案名稱 ,然後選取 [下一步]。
選取 [建立]。
隨即顯示一個概觀視窗。
在偵錯下拉式清單中,選取 [ 開發人員通道] ([沒有使用中通道]) >[建立通道...]。
隨即顯示一個快顯視窗。
在快顯視窗中更新下列詳細資料:
- 帳戶:輸入 Microsoft 或 GitHub 帳戶。
- 名稱:輸入通道的名稱。
- 通道類型:從下拉式清單中選取 [暫時]。
- 存取:從下拉式清單中選取 [公用]。
選取 [確定]。
此時會出現一個快顯視窗,顯示已成功建立開發人員通道。
選取 [確定]。
您可以在偵錯下拉式清單中找到您建立的通道,如下所示:
選取 F5 以偵錯模式執行應用程式。
如果出現 [安全性警告] 對話方塊,請選取 [是]。
隨即顯示一個快顯視窗。
選取 [繼續]。
Dev 通道首頁會在新的瀏覽器視窗中開啟,且 Dev 通道現在為使用中。
移至 Visual Studio,選取 [檢視 > 輸出]。
從 [輸出 主控台] 下拉式功能表中,選取 [開發人員通道]。
輸出主控台顯示開發通道 URL。
新增 Web 驗證
在左側窗格的 [管理] 底下,選取 [驗證]。
選取 [新增平台>Web]。
輸入應用程式的重新導向 URI,方法是附加
auth-end至完整網域名稱。 例如,https://your-devtunnel-domain/auth-end或https://your-ngrok-domain/auth-end。在 [隱含授權和混合式流程] 底下,選取 [存取權杖 ] 和 [識別碼權杖] 核取方塊。
選取 [設定]。
在 [Web] 下,選取 [新增 URI]。
輸入
https://token.botframework.com/.auth/web/redirect。選取 [儲存]。
建立用戶端密碼
注意
如果您遇到「 全租用戶原則會封鎖用戶端密碼」錯誤。請與您的租用戶系統管理員連絡以取得詳細資訊。,您可以改為建立憑證。 如需逐步指示,請參閱建立 應用程式註冊的憑證。
在左側窗格的 [管理] 底下,選取 [憑證 & 秘密]。
在 [用戶端密碼] 底下,選取 [+ 新增用戶端密碼]。
新增 用戶端密碼 視窗隨即出現。
輸入 描述。
選取 [新增]。
在 [值] 底下,選取 [複製到剪貼簿] 以儲存用戶端密碼值以供進一步使用。
新增 API 權限
在左窗格中,選取 API 權限。
選取 [+ 新增權限]。
選取 [Microsoft Graph]。
選取 [委派的權限]。
選取 [使用者>User.Read]。
選取 [新增權限]。
注意
- 如果應用程式未獲得 IT 系統管理員同意,使用者必須在第一次使用應用程式時提供同意。
- 只有當 Microsoft Entra 應用程式已在不同的租用戶中註冊時,使用者才需要同意 API 權限。
新增應用程式識別碼 URI
在左側窗格的 [管理] 底下,選取 [ 公開 API]。
在 應用程式識別碼 URI 旁邊,選取 [新增]。
以
api://botid-{AppID}格式更新應用程式識別碼 URI,然後選取 [儲存]。
新增範圍
在左側窗格的 [管理] 底下,選取 [ 公開 API]。
選取 [+ 新增範圍]。
輸入 access_as_user 做為 範圍名稱。
在 [ 誰可以同意?] 底下,選取 [系統管理員和使用者]。
更新其餘欄位的值,如下所示:
輸入 Teams 可以存取使用者的設定檔作為管理員同意顯示名稱。
Enter 允許 Teams 以目前使用者身分呼叫應用程式的 Web API,作為管理員同意描述。
輸入 Teams 可以存取使用者設定檔,並代表使用者提出要求 ,作為 使用者同意顯示名稱。
輸入 [允許 Teams 以與使用者相同的權限呼叫此應用程式的 API ] 作為使用者 同意描述。
確定 [狀態 ] 已設定為 [已啟用]。
選取 [新增範圍]。
下圖顯示欄位和值:
注意
範圍名稱必須與應用程式識別碼 URI 相符,
/access_as_user並在結尾附加。
新增用戶端應用程式
在左側窗格的 [管理] 底下,選取 [ 公開 API]。
在 [授權的用戶端應用程式] 底下,識別您要為應用程式的 Web 應用程式授權的應用程式。
選取 [+ 新增用戶端應用程式]。
新增 Teams 行動裝置或桌面和 Teams Web 應用程式。
對於 Teams 行動裝置或桌面版:將 用戶端識別碼 輸入為
1fec8e78-bce4-4aaf-ab1b-5451cc387264。
針對 Teams Web:將 用戶端識別碼 輸入為
5e3ce6c0-2b1f-4285-8d4b-75ee78787346。
選取 [ 授權範圍 ] 核取方塊。
選取 [新增應用程式]。
下圖顯示 用戶端識別碼:
更新資訊清單
在左窗格中,選取 [資訊清單]。
設定 [收件者
2]requestedAccessTokenVersion的值,然後選取 [儲存]。
建立您的 Bot
建立 Azure Bot 資源
注意
如果您已經在 Teams 中測試您的 Bot,請登出此應用程式和 Teams。 若要查看此變更,請重新登入。
移至 [首頁]。
選取 [+ 建立資源]。
在搜尋方塊中,輸入 Azure Bot。
選取 Enter。
選取 Azure Bot。
選取 [建立]。
在 [Bot 控點] 中輸入機器人名稱。
從下拉式清單中選取您的 訂閱 。
從下拉式清單中選取您的 資源群組 。
如果您沒有現有的資源群組,您可以建立新的資源群組。 若要建立新的資源群組,請遵循下列步驟:
- 選取 [建立新項目]。
- 輸入資源名稱,然後選取 [確定]。
- 從 [新增資源群組位置] 下拉式清單選取位置。
在 [定價] 底下,選取 [變更方案]。
選取 FO Free>Select。
在 [Microsoft 應用程式識別碼] 底下,選取 [ 應用程式類型 ] 做 為 [多租用戶]。
在 建立類型中,選取 使用現有的應用程式註冊。
輸入 應用程式識別碼。
注意
您無法建立多個具有相同 Microsoft 應用程式識別碼的 Bot。
選取 [檢閱 + 建立]。
驗證通過之後,選取 [建立]。
Bot 需要幾分鐘的時間來佈建。
選取 [移至資源]。
您已成功建立 Azure Bot。
新增 Teams 頻道
在左窗格中,選取 頻道。
在 [可用頻道] 底下,選取 [Microsoft Teams]。
選取核取方塊以接受 服務條款。
選取 [同意]。
選取 [套用]。
新增訊息端點
使用下列其中一種方式來新增訊息端點:
使用 輸出 主控台中的開發通道 URL 作為訊息端點。
在左側窗格的 [設定] 底下,選取 [設定]。
以下列格式
https://your-devtunnel-domain/api/messages更新訊息端點。
選取 [套用]。
您已在 Azure Bot 服務中成功設定 Bot。
注意
如果 Application Insights Instrumentation 金鑰 顯示錯誤,請使用 應用程式識別碼進行更新。
新增 OAuth 連線設定
在左窗格中,選取 設定。
選取 新增 OAuth 連線設定。
在 [新增連線設定] 底下,更新下列詳細資料:
- 名稱:輸入新連線設定的名稱。 您可以在 Bot 服務程式碼的設定中使用該名稱。
- 服務提供者:從下拉式清單中選取 [Azure Active Directory v2]。
- 用戶端識別碼:更新您的 Microsoft 應用程式識別碼。
- 用戶端密碼: 更新用戶端密碼 值。
- 權杖交換 URL:更新 應用程式識別碼 URI。
- 租用戶識別碼: 輸入 Common。
- 範圍: 輸入 User.Read。
選取 [儲存]。
設定應用程式設定和資訊清單檔案
移至複製存放庫中的 appsettings.json 檔案。
開啟 appsettings.json 檔案並更新下列資訊:
- 設定
"MicrosoftAppId"為 Bot 的 Microsoft 應用程式識別碼。 - 設定
"MicrosoftAppPassword"為 Bot 的用戶端密碼識別碼 值。 - 設定
ConnectionName為 OAuth 連線名稱。 - 設定
"MicrosoftAppType"為 MultiTenant。 - 設定
"MicrosoftAppTenantId"為 常見。
- 設定
移至複製存放庫中的 manifest.json 檔案。
開啟 manifest.json 檔案並更新下列變更:
- 以您的 Microsoft 應用程式識別碼取代所有出現的項目
"{TODO: MicrosoftAppId}"。 - 設定
"<<domain-name>>"為您的 ngrok 或開發人員通道網域。
- 以您的 Microsoft 應用程式識別碼取代所有出現的項目
建置及執行服務
開啟 Visual Studio。
移至 [檔案>]、[開啟>專案/解決方案...]
從 bot-conversation-sso-quickstart>csharp_dotnetcore 資料夾,選取 BotConversationSsoQuickstart.sln 檔案。
選取 F5 以執行專案。
如果出現 [安全性警告] 對話方塊,請選取 [是]。
網頁隨即開啟,並顯示一則訊息「 您的 Bot 已準備就緒!」。
注意
只有當您瀏覽至 localhost URL 時,才會顯示此頁面。
疑難排解
如果您收到 「找不到套件」 錯誤,請依照下列步驟執行:
- 移至 [工具]、[>NuGet] 、[套件管理員>]、[套件管理員設定]。
- 在出現的 [選項] 視窗中,選取 [NuGet 套件管理員>套件來源]。
- 選取 [新增]。
- 在 [名稱] 中輸入,
nuget.org並在 [來源] 中輸入https://api.nuget.org/v3/index.json。 - 選取 [更新],然後 [確定]。
- 重建您的專案。
在 Teams 中上傳 Bot
在複製的存放庫中,移至 Microsoft-Teams-Samples>samples>bot-conversation-sso-quickstart>csharp_dotnetcore>TeamsApp>appPackage。
使用下列位於 appPackage 資料夾中的檔案來建立 .zip 檔案:
- manifest.json
- outline.png
- color.png
前往 Microsoft Teams。
- 在 Teams 用戶端中,選取 應用程式。
- 選取 管理您的應用程式。
- 選取 [ 上傳應用程式]。
- 尋找 [ 上傳自訂應用程式] 選項。
選取 [ 開啟 ] 以上傳您在 [資訊清單 ] 資料夾中建立的 .zip 檔案。
選取 [ 新增 ] 以將 Bot 新增至您的聊天。
選取 [開啟]。
您可以傳送訊息來與 Bot 互動。 Bot 會交換 SSO 權杖,並代表您呼叫圖形 API。 除非您傳送訊息要求登出,否則它會讓您保持登入狀態。
傳送訊息給 bot。 交談機器人第一次要求同意。
針對桌面: 選取 [繼續] 以將存取 Bot 的權限授與 Teams 用戶端。
注意
現在您已使用 Bot 應用程式設定 SSO,這是您唯一需要給予同意的時間。
行動裝置:選取 [接受]。
注意
現在您已在行動裝置中使用 Bot 應用程式設定 SSO,這是您唯一需要提供同意的時間。
你想出這樣的東西嗎?
您已完成以開始使用 SSO 驗證建置 Bot 的教學課程。
使用 JavaScript 建立您的第一個訊息擴充應用程式
使用 JavaScript 在您的第一個 Microsoft Teams 應用程式中開始開發 Microsoft Teams 應用程式。
在本教學課程中,您將了解:
- 如何使用 Microsoft 365 Agents Toolkit 設定新專案 (先前稱為 Teams Toolkit) 。
- 如何建立訊息擴充應用程式。
- 如何部署您的應用程式。
教學課程:使用 JavaScript 建置您的第一個訊息擴充功能應用程式
本逐步指南可協助您使用 Visual Studio Code 中的 Agents Toolkit 建立訊息擴充功能 Teams 應用程式。 完成本指南之後,您會看到下列輸出:
先決條件
請確定您已安裝下列工具來建置和部署您的應用程式。
| 安裝 | 用於使用... | |
|---|---|---|
| 必要 | ||
| Visual Studio Code | JavaScript 或 TypeScript 建置環境。 使用最新版本。 | |
| Microsoft 365 代理程式工具組 | 可為您的應用程式建立專案基架的 Microsoft Visual Studio Code 擴充功能。 使用最新版本。 | |
| Node.js | 後端 JavaScript 執行階段環境。 如需詳細資訊,請參閱 Node.js 版本相容性表格。 | |
| Microsoft Teams | 透過應用程式在單一位置與您共同作業,以進行聊天、會議和通話。 | |
| Microsoft Edge (建議) 或 Google Chrome | 具有偵錯和測試必不可少的開發人員工具的瀏覽器。 | |
| Microsoft 365 開發人員帳戶 | 具有安裝自訂應用程式之適當權限的 Teams 帳戶存取權。 | |
| 選用 | ||
| 適用於 Visual Studio Code 和 Azure CLI 的 Azure 工具 | Azure 工具可用於存取儲存的資料,或在 Azure 中為 Teams 應用程式部署雲端式後端。 | |
| 適用於 Chrome 的 React 開發人員工具或適用於 Microsoft Edge 的 React 開發人員工具 | 開放原始碼 React JavaScript 程式庫的瀏覽器開發工具延伸模組。 |
準備開發環境
安裝必要的工具之後,請設定開發環境。
安裝 Microsoft 365 代理程式工具組
Microsoft 365 Agents Toolkit (先前稱為 Teams Toolkit) 透過為應用程式佈建和部署雲端資源並發佈到 Teams Store 的工具來協助簡化開發流程。
您可以將 Agents Toolkit 與 Visual Studio Code 搭配使用,或稱為 Microsoft 365 Agents Toolkit CLI (先前稱為 TeamsFx CLI) 的命令列介面。
開啟 Visual Studio Code 並選取 [擴充功能] (Ctrl+Shift+X 或 [檢視>擴充功能]) 。
在搜尋方塊中,輸入 Microsoft 365 Agents Toolkit。
選取 [安裝]。
Microsoft 365 代理程式工具組
圖示會出現在 Visual Studio Code 活動列中。
您也可以從 Visual Studio Code 市集安裝代理程式工具組。
設定您的 Teams 開發租用戶
租用戶是貴組織在 Teams 中的一個空間或容器,您可在這裡聊天、共用檔案和開會。 這個空間也是您上傳和測試應用程式的地方。 讓我們確認您是否已準備好與租用戶一起開發。
檢查 [上傳應用程式] 選項
建立自訂應用程式之後,您必須使用 [ 上傳自訂應用程式 ] 選項,將您的應用程式上傳至 Teams。 登入您的 Microsoft 365 帳戶以檢查此選項是否已啟用。
下列步驟可協助您確認您是否可以在 Teams 中上傳應用程式:
在 Teams 用戶端中,選取 應用程式 圖示。
選取 管理您的應用程式。
選取 [ 上傳應用程式]。
尋找 [ 上傳自訂應用程式] 選項。 如果顯示該選項,您可以上傳自訂應用程式。
注意
如果您找不到上傳自訂應用程式的選項,請連絡您的 Teams 系統管理員。
建立免費的 Teams 開發人員租用戶 (選擇性)
如果您沒有 Teams 開發人員帳戶,請加入 Microsoft 365 開發人員計畫。
選取 [立即加入] ,並依照畫面上的指示操作。
在歡迎畫面中,選取設定 E5 訂閱。
設定您的系統管理員帳戶。 完成後,隨即出現下列畫面:
使用您剛才設定的系統管理員帳戶登入 Teams。 確認您在 Teams 中有 上傳自訂應用程式選項 。
取得免費的 Azure 帳戶
如果您想要在 Azure 中託管您的應用程式或存取資源,您必須擁有 Azure 訂閱。 開始之前先建立免費帳戶。
建立訊息擴充應用程式的專案工作區
現在,讓我們建立您的第一個訊息擴充應用程式。
訊息擴充功能可讓您透過按鈕和表單與 Web 服務互動。 直接在 Teams 用戶端中使用郵件撰寫區、命令方塊或訊息,在外部系統中搜尋和啟動動作。 訊息延伸模組仰賴 Bot 來提供使用者與您的程式碼之間的對話。
Teams 訊息擴充功能有兩種類型:
讓我們使用搜尋命令建立訊息擴充功能應用程式。 首先,設定新的 Teams 專案,以建立訊息擴充功能應用程式。
在本教學課程中,您將了解:
建立您的訊息擴充專案工作區
如果先決條件齊全,讓我們開始吧!
注意
顯示的 Visual Studio Code UI 可能會有所不同,具體取決於您的作業系統、工具組版本、主題和環境。
開啟 Visual Studio Code。
選取 Visual Studio Code 活動列中的 Microsoft 365 代理程式工具組
圖示。選取 [建立新的代理程式/應用程式>]Teams 應用程式。
選取 [ 訊息擴充功能]。
選取 自訂搜尋結果。
選取 [從 Bot 開始]。
選取 JavaScript。
選取 [預設資料夾 ],將專案根資料夾儲存在預設位置。
您也可以透過下列步驟變更預設位置:
選取 [瀏覽]。
選取專案工作區的位置。
選取 [選取資料夾]。
輸入適合您的應用程式名稱。 選取 Enter。
Agents Toolkit 會在幾秒鐘內建立應用程式。
建立應用程式之後,Agents Toolkit 會顯示下列訊息:
訊息擴充應用程式原始程式碼導覽
訊息擴充功能會使用 Bot Framework 透過交談與您的服務互動。 搭建腳手架後,在 [資源管理器] 下檢視專案目錄和檔案。
| 資料夾 / 檔案 | 內容 |
|---|---|
m365agents.yml |
主要專案檔案描述您的應用程式組態,並定義在每個生命週期階段中執行的動作集。 |
m365agents.local.yml |
以啟用本 m365agents.yml 機執行和偵錯的動作覆寫。 |
.vscode/ |
用於本機偵錯的 Visual Studio Code 檔案。 |
appPackage/ |
Teams 應用程式資訊清單的範本。 |
infra/ |
佈建 Azure 資源的範本。 |
index.js |
應用程式進入點和 express 處理常式。 |
秘訣
在將應用程式整合到 Teams 中之前,請先熟悉 Teams 以外的 Bot 和訊息擴充功能。
建置並執行您的第一個訊息擴充應用程式
使用 Agents Toolkit 設定專案工作區之後,就可以建立專案了。 您必須登入您的 Microsoft 365 帳戶。
登入您的 Microsoft 365 帳戶
使用您在加入 Microsoft 365 開發人員計畫時所建立的系統管理員帳戶登入。
開啟 Visual Studio Code。
選取活動列中的 Microsoft 365 代理程式工具組
圖示。選取 [使用您的認證登入 Microsoft 365 ]。 預設網頁瀏覽器隨即開啟,讓您登入。
使用您的認證登入後關閉瀏覽器。
返回 Visual Studio Code 內的代理程式工具組。
提要欄位的 [帳戶 ] 區段會顯示您的 Microsoft 365 帳戶名稱。 如果您的 Microsoft 365 帳戶已啟用自訂應用程式上傳,Agents Toolkit 會顯示自訂 應用程式上傳已啟用。
現在您已準備好建置應用程式並在本機執行它!
在本機環境中組建及執行您的應用程式
現在您可以在本機組建和偵錯您的第一個 Teams 訊息擴充功能應用程式。
在本機組建並執行您的應用程式
選取 Visual Studio Code 中的 F5 鍵,以偵錯模式執行應用程式。
注意
如果 Agents Toolkit 無法驗證特定的先決條件,則會提示您檢查。
了解當您在偵錯工具中本機執行應用程式時會發生什麼情況。
當您選取 F5 時,Agents Toolkit 會執行下列功能:
檢查下列必要條件:
- 您已使用 Microsoft 365 帳戶登入。
- 您的 Microsoft 365 帳戶已啟用自訂應用程式上傳功能。
- 已安裝支援 Node.js 版本。
- Bot 應用程式所需的連接埠可用。
安裝 npm 套件
啟動開發人員通道以建立 HTTP 通道。
在 Microsoft Entra ID 中註冊應用程式並設定應用程式。
在 Bot Framework 中註冊 Bot 應用程式並設定應用程式。
在 Teams 開發人員入口網站中註冊應用程式並設定應用程式。
啟動本機託管的訊息擴充功能應用程式。
在網頁瀏覽器中啟動 Teams,並上傳 Teams 應用程式。
當您第一次偵錯應用程式時,Teams 會下載相依性並建置應用程式。 此程序可能需要 3 到 5 分鐘完成。
建置完成後,Teams 會在瀏覽器視窗中開啟。 如果出現提示,請使用您的 Microsoft 365 帳戶登入。
此時會開啟一個對話方塊,讓您將訊息擴充功能應用程式新增至 Teams。 選取 [新增]。
Teams 會載入訊息擴充功能應用程式。
由於訊息擴充功能應用程式仰賴 Bot 來啟用使用者與 Web 服務之間的通訊,因此您的應用程式會載入 Bot 的聊天功能。
- 如果您在建立訊息擴充功能應用程式之前已建立 Bot 應用程式,Teams 會在您建立的 Bot 應用程式中載入訊息擴充功能。 可以看到 Bot 應用程式先前的聊天訊息。
- 如果您已先建立訊息擴充功能,Teams 會在 Teams 上開啟的最新聊天中載入您的應用程式。
測試您的應用程式
您的應用程式第一次載入時,訊息擴充應用程式會開啟供您測試。 此範例應用程式可讓您從軟體登錄中搜尋開放原始碼 npm 套件。
如何執行搜尋查詢
在訊息擴充功能的搜尋方塊中輸入開放原始碼 npm 套件的名稱,例如 cli。 訊息擴充功能會顯示相符項目的清單。
從清單中選取其中一個項目。 應用程式會在郵件撰寫區域中建立含有該項目的 [調適型卡片],讓您可以在聊天或頻道中傳送該卡片。
選取 Enter。 訊息擴充功能應用程式會傳送包含聊天或頻道中項目的調適型卡片。
如何開啟訊息擴充功能應用程式
您在上一個步驟中測試了訊息擴充功能應用程式的搜尋功能。 現在,了解開啟訊息擴充功能應用程式的不同方式。
從命令方塊開啟您的應用程式
在命令方塊中輸入, / 後面接著您的訊息擴充應用程式名稱。
應用程式會在命令方塊中開啟,您可以使用它來執行查詢。
注意
- 用 / 來從命令方塊開啟訊息擴充功能應用程式僅適用於新的 Teams 用戶端。
- 用來 @ 從傳統 Teams 用戶端的命令方塊開啟訊息擴充功能應用程式。
從郵件撰寫區域開啟您的應用程式
選取郵件撰寫區域底部的三個點。
選取您的訊息擴充功能應用程式。
訊息擴充功能應用程式會載入包含執行搜尋的選項。
從上傳的自訂應用程式開啟您的應用程式
選取 [應用程式>] [管理您的應用程式]。
從應用程式清單中選取應用程式的下拉式清單,然後選取 [ 個人應用程式]。
此時會出現一個對話方塊,建議您試用您的應用程式。 如果您選取 [了解],對話方塊會消失。 選取 [試試看]。
您的訊息擴充應用程式清單會顯示在您最近的 Teams 聊天中。 從清單中選取您的訊息擴充功能應用程式。
瞭解如果您的應用程式無法在本機執行時進行疑難排解
若要在 Teams 中執行您的應用程式,您必須擁有允許自訂應用程式上傳的 Microsoft 365 開發帳戶。 您可以在 [先決條件] 章節深入了解自訂應用程式上傳。
部署您的第一個 Teams 應用程式
讓我們使用 Agents Toolkit 在 Azure 上部署您的第一個訊息擴充功能應用程式。
登入您的 Azure 帳戶
登入您的 Azure 帳戶以存取 Microsoft Azure 入口網站,並佈建新的雲端資源以支援您的應用程式。
開啟 Visual Studio Code。
開啟您在其中建立訊息擴充功能應用程式的專案資料夾。
選取活動列中的 Microsoft 365 代理程式工具組
圖示。選取 [使用您的認證登入 Azure]。 預設網頁瀏覽器隨即開啟,讓您登入。
秘訣
如果您已安裝 AZURE 帳戶擴充功能且使用相同的帳戶,則可以略過此步驟。
出現提示時關閉瀏覽器,然後返回 Visual Studio Code。
提要欄位的 [帳戶] 區段會列出您可用的可用 Azure 訂閱數量。 請確定您至少有一個可用的 Azure 訂閱。 如果沒有,請登出並使用其他帳戶。
將應用程式部署到 Azure
部署包含兩個步驟。 首先,建立必要的雲端資源 (也稱為佈建) 。 然後,您的應用程式程式碼會複製到建立的雲端資源中。 您將在本教學課程中部署訊息擴充功能應用程式。
佈建和部署之間有什麼不同?
[佈建] 步驟會在 Azure 和 Microsoft 365 中為您的應用程式建立資源,但不會將 HTML、CSS 或 JavaScript) 等程式碼 (複製到資源。 部署 步驟會 將應用程式的程式碼複製到您在佈建步驟中建立的資源。 在未佈建新資源的情況下進行多次部署是很常見的。 由於佈建步驟需要一些時間才能完成,因此與部署步驟是分開的。
選取 Visual Studio Code 活動列中的 Microsoft 365 代理程式工具組
圖示。
選取 [佈建]。
選取訂閱。
選取資源群組。
如果您沒有要選取的資源群組,您可以使用下列步驟建立新的資源群組:
選取 [+ 新增資源群組]。
為您的資源群組選取預設名稱或輸入適當的名稱。
選取資源群組的位置。
對話方塊會警告您在 Azure 中執行資源時可能會產生成本。 選取 [佈建]。
佈建程序會在 Azure 雲端中建立資源。 可能需要一些時間。 幾分鐘後,您會看到下列訊息:
如有需要,您可以檢視佈建的資源。 在本教學課程中,您不需要檢視資源。
佈建的資源會出現在 [環境] 下。
在 [生命週期] 底下,選取 [部署]。
此時會出現一個對話方塊,詢問您是否要在開發環境中部署資源。 選取 [部署]。
與佈建一樣,部署需要一些時間。 幾分鐘後,您會看到一則完成訊息。
執行已部署的應用程式
佈建和部署步驟完成後,請移至 [ 執行和偵錯 ] (Ctrl+Shift+D ,或在 Agents Toolkit 中 檢視 > [執行) ]。
選取 [執行和偵錯 ] 下拉式功能表。
選取 [ 在 Teams (Edge) 啟動遠端 ]。
選取 ▷ 按鈕。
此時會開啟一個對話方塊,將已部署的應用程式安裝到 Teams。 選取 [新增]。
Teams 會在最近的聊天中開啟訊息擴充功能應用程式。
了解將應用程式部署到 Azure 時會發生什麼情況
部署前,應用程式會在本機執行。
- 後端使用 Azure Functions 核心工具執行。
- 應用程式 HTTP 端點,Microsoft Teams 載入應用程式的地方,會在本機執行。
部署程序包含兩個步驟。 您可以在作用中的 Azure 訂閱上佈建資源,然後將應用程式的後端和前端程式碼部署或上傳到 Azure。
- 後端 (如果已設定) 會使用各種 Azure 服務,包括 Azure App 服務 和 Azure 儲存。
- 前端應用程式會部署至專為靜態 Web 主機所設定的 Azure 儲存帳戶。
恭喜
您已完成使用 JavaScript 建置訊息擴充應用程式的教學課程!
你想出這樣的東西嗎?
使用 C sharp 建立您的第一個索引標籤應用程式
從建置具有索引標籤功能的第一個 Microsoft Teams 應用程式,開始 Microsoft Teams 應用程式開發。
在本教學課程中,您將了解:
- 如何設定新專案。
- 如何使用 C# 和 Microsoft Visual Studio 2022 建立具有索引標籤功能的應用程式。
教學課程:使用 C 建置您的第一個索引標籤應用程式#
本逐步指南可協助您使用 Microsoft 365 Agents Toolkit (先前稱為 Teams Toolkit) 建立索引標籤。 完成本指南之後,您會看到下列輸出:
建置應用程式的必要條件
以下是建置及部署 Teams 應用程式時需要安裝的工具清單。
| 安裝 | 用於使用... |
|---|---|
| Microsoft Teams | Microsoft Teams 透過在同一個位置進行聊天、會議和通話的應用程式,與共同作業的每個人共同作業。 |
|
Visual Studio 2022 |
您可以在 Visual Studio 2022 中安裝企業版,並安裝 ASP.NET 和網頁開發工作負載。 使用最新版本。 |
| Microsoft 365 代理程式工具組 | 可為您的應用程式建立專案鷹架的 Visual Studio 擴充功能。 使用最新版本。 |
安裝代理程式工具組
Agents Toolkit 可透過為您的應用程式建立專案基架的工具來協助簡化開發程序。 它會為所有選定的功能建立必要的目錄結構,並將所需的檔案準備好建置專案。
您可以下載最新的 Visual Studio 安裝程式。 Agents Toolkit 可作為 Visual Studio 中的擴充功能使用。
在快顯的工作負載視窗中開啟 Visual Studio 安裝程式之後:
選取 ASP.NET 和 Web 開發。
在 安裝詳細資料>[選用] 底下,選取 [Microsoft Teams 開發工具]。
選取 [安裝]。
選取 啟動。 Visual Studio 2022 應用程式視窗隨即出現。
移至 [擴充功能]>[管理擴充功能]。
[管理擴充功能] 視窗隨即出現:
在左窗格中,選取 [已安裝]。 可以使用 Microsoft 365 代理程式工具組 擴充功能。
設定您的 Teams 開發租用戶
租用戶就像是貴組織在 Teams 中的一個空間或容器,您可以在其中聊天、共用檔案和開會。 此空間也是您上傳和測試自訂應用程式的地方。 讓我們確認您是否已準備好與租用戶一起開發。
檢查自訂應用程式上傳選項
建立應用程式之後,您必須在 Teams 中載入應用程式,而不要將其發佈。 此程序稱為自訂應用程式上傳。 請登入您的 Microsoft 365 帳戶以檢視此選項。
注意
若要在 Teams 本機環境中預覽和測試應用程式,必須上傳自訂應用程式。 如果未啟用,您將無法在 Teams 本機環境中預覽和測試您的應用程式。
您是否已經有租用戶和系統管理員存取權? 讓我們檢查一下您是否這樣做了!
確認您是否可以在 Teams 中上傳自訂應用程式:
開啟 Microsoft Teams,選取 [ 應用程式 ] 圖示。
選取 管理您的應用程式。
選取 [ 上傳應用程式]。
尋找 [ 上傳自訂應用程式] 選項。 如果您看到該選項,表示已啟用自訂應用程式上傳。
注意
如果您找不到上傳自訂應用程式的選項,請連絡您的 Teams 系統管理員。
建立免費的 Teams 開發人員租用戶 (選擇性)
如果您沒有 Teams 帳戶,您可以免費取得。 加入 Microsoft 365 開發人員計畫!
選取 [立即加入] ,並依照畫面上的指示操作。
在歡迎畫面中,選取 [ 設定 E5 訂閱]。
設定您的系統管理員帳戶。 完成後,隨即出現下列畫面:
使用您所設定的系統管理員帳戶登入 Teams。 確認您已在 Teams 中擁有上傳 自訂應用程式 選項。
取得免費的 Azure 帳戶
如果您想要在 Azure 中託管您的應用程式或存取資源,您必須擁有 Azure 訂閱。 開始之前先建立免費帳戶。
現在您已擁有設定帳戶的所有工具。 接下來,讓我們設定您的開發環境並開始建置吧! 先選取您要建立的應用程式。
使用 C sharp 建立索引標籤應用程式的專案工作區
從建立您的第一個應用程式,開始 Microsoft Teams 應用程式開發。 此應用程式使用索引標籤功能。 如果先決條件齊全,讓我們開始吧!
下列步驟可協助您在 Visual Studio 中為索引標籤應用程式建立專案工作區:
開啟 Visual Studio。
選取 [新增專案]。
在搜尋方塊中,輸入 Teams。
接下來選取 [Microsoft 365 代理程式>]。
輸入下列詳細資料以設定新專案。
在 [專案名稱] 中輸入必要的專案名稱。
選取儲存專案檔案和資料夾所需的位置。
選取 [建立]。
選取 [ 索引標籤>建立]。
Teams 索引標籤應用程式會在幾秒鐘內建立。
使用 C sharp 建立和執行您的第一個索引標籤應用程式
使用 Agents Toolkit 設定專案工作區之後,請建置索引標籤應用程式。
登入您的 Microsoft 365 帳戶
使用您的 Microsoft 365 帳戶來登入 Teams。 如果您使用的是 Microsoft 365 開發人員計畫租用戶,則您在註冊時設定的系統管理員帳戶就是您的 Microsoft 365 帳戶。
在方案總管中,在 [解決方案 MyTeamsApp] 底下,以滑鼠右鍵按一下 [MyTeamsApp]。
選取 Microsoft 365 代理程式工具組>選取 Microsoft 365 帳戶。
選取 [Microsoft 365 帳戶>繼續]。
在 Visual Studio 中本機組建並執行應用程式
若要在本機建置及執行您的應用程式:
選取 [偵錯]> [開始偵錯],或選取 F5。
Visual Studio 會啟動偵錯程序,並在瀏覽器中開啟 Teams Web 用戶端。 如果出現提示,請使用您的 Microsoft 365 帳戶登入。
選取 [新增]。
選取 [ 開啟] 以在個人範圍內開啟應用程式。
或者,您可以搜尋並選取所需的範圍,或從清單中選取頻道或聊天,然後在對話方塊中移動以選取 [執行]。
恭喜,您的第一個索引標籤應用程式已在 Teams 上執行!
瞭解如果您的應用程式無法在本機執行時進行疑難排解,該如何進行疑難排解。
若要在 Teams 中成功執行您的應用程式,請確定您已在 Teams 帳戶中啟用自訂應用程式上傳。 您可以在先 決條件 章節深入了解自訂應用程式上傳。
您已使用 C# 成功建立索引標籤應用程式。 Agents Toolkit 已將必要的鷹架新增至應用程式的目錄結構。 教學課程現已完成。
將 SSO 新增至索引標籤和訊息擴充功能應用程式
Microsoft Entra單一登入 (SSO) 可在 Teams 中實現順暢的使用者驗證。
Microsoft Entra SSO 的重要層面:
- 允許使用者在第一次登入後自動登入。
- 允許使用者登入其他裝置,而不需要再次輸入認證。
- 取得登入使用者的權杖。
教學課程:將 SSO 新增至索引標籤和訊息擴充功能應用程式
此逐步指南可協助您建立索引標籤和訊息擴充功能,以啟用 Microsoft Entra SSO 驗證。 您會看到下列輸出:
新增 SSO 至應用程式的必要條件
請確定您已安裝下列工具並設定開發環境:
| # | 安裝 | 用於使用... |
|---|---|---|
| 1. | Microsoft Teams | Microsoft Teams 透過聊天、會議和通話應用程式,與您一起工作的每個人共同作業。 |
| 2. | Microsoft 365 開發人員帳戶 | 具有安裝應用程式之適當權限的 Teams 帳戶存取權。 |
| 3. | .NET Core SDK | 適用於本機偵錯和 Azure Functions 應用程式部署的自訂繫結。 如果您尚未安裝最新版本,請安裝可攜式版本。 |
| 4. | Visual Studio 2022 | 您可以在 Visual Studio 2022 中安裝企業版,並安裝 ASP.NET 和網頁開發工作負載。 使用最新版本。 |
| 5. | Dev 通道 | Teams 應用程式功能 (交談機器人、訊息擴充功能,以及需要輸入連線) 傳入 Webhook。 通道會將您的開發系統連線至 Teams。 Dev 通道是一個強大的工具,可以安全地將您的本地主機開放至互聯網並控制誰有權訪問。 Dev 通道可在 Visual Studio 2022 版本 17.7.0 或更新版本中使用。 或 您也可以使用 ngrok 做為通道,將您的開發系統連線至 Teams。 對於只包含索引標籤的應用程式而言,不需要此設定。 此套件是使用 npm devDependencies) 安裝在專案目錄 (中。 |
注意
下載 ngrok 之後,請註冊並安裝 authtoken。
設定本機環境
選取 [代碼]。
從下拉式功能表中,選取 [使用 GitHub Desktop 開啟]。
選取 [複製]。
註冊 Microsoft Entra 應用程式
下列步驟可協助您在 Azure 入口網站中建立及註冊您的 Bot:
- 建立並註冊您的 Azure 應用程式。
- 建立用戶端密碼以啟用 Bot 的 SSO 驗證。
- 新增 Teams 頻道以部署 Bot。
- 使用建議的) 或 ngrok (開發人員通道建立到 Web 伺服器端點的通道。
- 將訊息端點新增至您建立的開發通道。
新增應用程式註冊
移至 Azure 入口網站。
選取應用程式註冊。
選取 [+ 新增註冊]。
輸入您應用程式的名稱。
選取 [任何組織目錄中的帳戶] ([任何Microsoft Entra ID租用戶 - 多租用戶) ]。
選取 [註冊]。
您的應用程式已在 Microsoft Entra ID 中註冊。 應用程式概觀頁面隨即顯示。
注意
將 應用程式 (用戶端 的應用程式識別碼儲存) 和 目錄 (租用戶) 識別碼 ,以供進一步使用。
建立通道
選取下列其中一種方式來建立通道:
開啟 Visual Studio。
選取 建立新專案。
在搜尋方塊中輸入 ASP.NET。 從搜尋結果中選取 [ASP.NET Core Web App]。
選取 [下一步]。
輸入 專案名稱 ,然後選取 [下一步]。
選取 [建立]。
隨即顯示一個概觀視窗。
在偵錯下拉式清單中,選取 [ 開發人員通道] ([沒有使用中通道]) >[建立通道...]。
隨即顯示一個快顯視窗。
在快顯視窗中更新下列詳細資料:
- 帳戶:輸入 Microsoft 或 GitHub 帳戶。
- 名稱:輸入通道的名稱。
- 通道類型:從下拉式清單中選取 [暫時]。
- 存取:從下拉式清單中選取 [公用]。
選取 [確定]。
此時會出現一個快顯視窗,顯示已成功建立開發人員通道。
選取 [確定]。
您可以在偵錯下拉式清單中找到您建立的通道,如下所示:
選取 F5 以偵錯模式執行應用程式。
如果出現 [安全性警告] 對話方塊,請選取 [是]。
隨即顯示一個快顯視窗。
選取 [繼續]。
Dev 通道首頁會在新的瀏覽器視窗中開啟,且 Dev 通道現在為使用中。
移至 Visual Studio,然後選取 [檢視>輸出]。
從 [輸出 主控台] 下拉式功能表中,選取 [開發人員通道]。
輸出主控台顯示開發通道 URL。
新增 Web 驗證
在左側窗格的 [管理] 底下,選取 [驗證]。
選取 [新增平台>Web]。
輸入應用程式的重新導向 URI,方法是附加
auth-end至完整網域名稱。 例如,https://your-devtunnel-domain/auth-end或https://your-ngrok-domain/auth-end。在 [隱含授權和混合式流程] 底下,選取 [存取權杖 ] 和 [識別碼權杖] 核取方塊。
選取 [設定]。
在 [Web] 下,選取 [新增 URI]。
輸入
https://token.botframework.com/.auth/web/redirect。選取 [儲存]。
建立用戶端密碼
注意
如果您遇到「 全租用戶原則會封鎖用戶端密碼」錯誤。請與您的租用戶系統管理員連絡以取得詳細資訊。,您可以改為建立憑證。 如需逐步指示,請參閱建立 應用程式註冊的憑證。
在左側窗格的 [管理] 底下,選取 [憑證 & 秘密]。
在 [用戶端密碼] 底下,選取 [+ 新增用戶端密碼]。
新增 用戶端密碼 視窗隨即出現。
輸入 描述。
選取 [新增]。
在 [值] 底下,選取 [複製到剪貼簿] 以儲存用戶端密碼值以供進一步使用。
新增 API 權限
在左窗格中,選取 API 權限。
選取 [+ 新增權限]。
選取 [Microsoft Graph]。
選取 [委派的權限]。
選取 [使用者>User.Read]。
選取 [新增權限]。
注意
- 如果應用程式未獲得 IT 系統管理員同意,使用者必須在第一次使用應用程式時提供同意。
- 只有當 Microsoft Entra 應用程式已在不同的租用戶中註冊時,使用者才需要同意 API 權限。
新增應用程式識別碼 URI
在左側窗格的 [管理] 底下,選取 [ 公開 API]。
在 應用程式識別碼 URI 旁邊,選取 [新增]。
以
api://your-devtunnel-domain/botid-{AppID}ORapi://your-ngrok-domain/botid-{AppID}格式更新應用程式識別碼 URI,然後選取 [儲存]。
下圖顯示網域名稱:
新增範圍
在左側窗格的 [管理] 底下,選取 [ 公開 API]。
選取 [+ 新增範圍]。
輸入 access_as_user 做為 範圍名稱。
在 [ 誰可以同意?] 底下,選取 [系統管理員和使用者]。
更新其餘欄位的值,如下所示:
輸入 Teams 可以存取使用者的設定檔作為管理員同意顯示名稱。
Enter 允許 Teams 以目前使用者身分呼叫應用程式的 Web API,作為管理員同意描述。
輸入 Teams 可以存取使用者設定檔,並代表使用者提出要求 ,作為 使用者同意顯示名稱。
輸入 [允許 Teams 以與使用者相同的權限呼叫此應用程式的 API ] 作為使用者 同意描述。
確定 [狀態 ] 已設定為 [已啟用]。
選取 [新增範圍]。
下圖顯示欄位和值:
注意
範圍名稱必須與應用程式識別碼 URI 相符,
/access_as_user並在結尾附加。
新增用戶端應用程式
在左側窗格的 [管理] 底下,選取 [ 公開 API]。
在 [授權的用戶端應用程式] 底下,識別您要為應用程式的 Web 應用程式授權的應用程式。
選取 [+ 新增用戶端應用程式]。
新增 Teams 行動裝置或桌面和 Teams Web 應用程式。
對於 Teams 行動裝置或桌面版:將 用戶端識別碼 輸入為
1fec8e78-bce4-4aaf-ab1b-5451cc387264。
針對 Teams Web:將 用戶端識別碼 輸入為
5e3ce6c0-2b1f-4285-8d4b-75ee78787346。
選取 [ 授權範圍 ] 核取方塊。
選取 [新增應用程式]。
下圖顯示 用戶端識別碼:
更新資訊清單
在左窗格中,選取 [資訊清單]。
設定 [收件者
2]requestedAccessTokenVersion的值,然後選取 [儲存]。
建立 Bot
建立 Azure Bot 資源
注意
如果您已經在 Teams 中測試您的 Bot,請登出此應用程式和 Teams。 若要查看此變更,請重新登入。
移至 [首頁]。
選取 [+ 建立資源]。
在搜尋方塊中,輸入 Azure Bot。
選取 Enter。
選取 Azure Bot。
選取 [建立]。
在 [Bot 控點] 中輸入機器人名稱。
從下拉式清單中選取您的 訂閱 。
從下拉式清單中選取您的 資源群組 。
如果您沒有現有的資源群組,您可以建立新的資源群組。 若要建立新的資源群組,請遵循下列步驟:
- 選取 [建立新項目]。
- 輸入資源名稱,然後選取 [確定]。
- 從 [新增資源群組位置] 下拉式清單選取位置。
在 [定價] 底下,選取 [變更方案]。
選取 FO Free>Select。
在 [Microsoft 應用程式識別碼] 底下,選取 [ 應用程式類型 ] 做 為 [多租用戶]。
在 建立類型中,選取 使用現有的應用程式註冊。
輸入 應用程式識別碼。
注意
您無法建立多個具有相同 Microsoft 應用程式識別碼的 Bot。
選取 [檢閱 + 建立]。
驗證通過之後,選取 [建立]。
Bot 需要幾分鐘的時間來佈建。
選取 [移至資源]。
您已成功建立 Azure Bot。
新增 Teams 頻道
在左窗格中,選取 頻道。
在 [可用頻道] 底下,選取 [Microsoft Teams]。
選取核取方塊以接受 服務條款。
選取 [同意]。
選取 [套用]。
若要新增訊息端點
使用 輸出 主控台中的開發通道 URL 作為訊息端點。
在左側窗格的 [設定] 底下,選取 [設定]。
以下列格式
https://your-devtunnel-domain/api/messages更新訊息端點。
選取 [套用]。
您已在 Azure Bot 服務中成功設定 Bot。
注意
如果 Application Insights Instrumentation 金鑰 顯示錯誤,請使用 應用程式識別碼進行更新。
新增 OAuth 連線設定
在左窗格中,選取 設定。
選取 新增 OAuth 連線設定。
在 [新增連線設定] 底下,更新下列詳細資料:
- 名稱:輸入新連線設定的名稱。 您可以在 Bot 服務程式碼的設定中使用該名稱。
- 服務提供者:從下拉式清單中選取 [Azure Active Directory v2]。
- 用戶端識別碼:更新您的 Microsoft 應用程式識別碼。
- 用戶端密碼: 更新用戶端密碼 值。
- 權杖交換 URL:更新 應用程式識別碼 URI。
- 租用戶識別碼: 輸入 Common。
- 範圍: 輸入 User.Read。
選取 [儲存]。
設定應用程式設定
移至複製存放庫中的 appsettings.json 檔案。
在 Visual Studio 中開啟 appsettings.json 檔案。
更新下列資訊:
- 取代
"MicrosoftAppId"為 Bot 的 Microsoft 應用程式識別碼。 -
"MicrosoftAppPassword"取代為 Bot 的用戶端密碼 值。 - 取代
"SiteUrl"為您的 ngrok URL。 -
"ConnectionName"取代為 OAuth 連線設定的名稱。 - 取代
"TenantId"為使用應用程式之租用戶的租用戶識別碼。 - 取代
"ClientId"為 Bot 的 Microsoft 應用程式識別碼。 -
"AppSecret"取代為 Bot 的用戶端密碼 值。 - 以 的
api://*******.ngrok.io/botid-{AppID}格式取代"ApplicationIdURI"。
- 取代
設定資訊清單檔案
移至複製存放庫中的 manifest.json 檔案。
在 Visual Studio 中開啟 manifest.json 檔案,並進行下列變更:
DOMAIN-NAME取代為您的 ngrok URL。YOUR-MICROSOFT-APP-ID取代為 Bot 的 Microsoft 應用程式識別碼。注意
視案例
[YOUR-MICROSOFT-APP-ID]而定,且[DOMAIN-NAME]可能會發生多次。取代
resource為api://*******.ngrok.io/botid-{AppID}。
建置及執行服務
若要建置及執行服務,請使用 Visual Studio 或命令列。
開啟 Visual Studio。
選取 [檔案>] 開啟> *專案/解決方案...
在 csharp 資料夾中,選取 [應用程式 SSO Sample.csproj 檔案]。
按 F5 執行專案。
如果出現下列對話方塊,請選取 [是 ]:
網頁隨即出現,其中顯示一則訊息: 您的 Bot 已準備就緒!
