共用方式為


提出 HTTP 要求

在 Copilot Studio 中,您可以使用 HTTP 要求 節點呼叫外部 REST API 來擴充代理程式的功能。 當您需要從外部系統擷取資料或操作該系統上的資料時,此呼叫會很實用。

必要條件

使用 HTTP 要求節點

  1. 選取您要呼叫外部 API 的節點下方的 [ 新增節點 ] 圖示,指向 [進階],然後選取 [傳送 HTTP 要求]。

  2. URL 方塊中,輸入要呼叫的 API 端點的 URL。

  3. 從下拉式清單選取適當的要求方法。 支援 GET、POST、PATCH、PUT 和 DELETE 方法。

    已完成的 API URL 和方法下拉式清單的螢幕擷取畫面

  4. 在節點的 [標頭和本文 ] 下,選取 [ 編輯 ] 按鈕,這會開啟 [HTTP 要求屬性 ] 面板。

  5. 您可以選擇將一個或多個標題新增至 HTTP 要求。 選擇新增按鈕以新增每個標頭的索引鍵和值。

    HTTP 節點標題索引鍵值組清單的螢幕擷取畫面。

    您可以使用標頭區段來傳遞驗證令牌、內容類型,或您要呼叫之 API 的任何其他必要標頭。 例如,您可以新增標頭,例如 Authorization: Bearer <your_token> 來驗證要求。

  6. 預設情況下,HTTP 要求本文中不會傳送任何內容,但您可以在本文中指定內容

  7. 在節點上,從可用的選項中選擇回覆資料類型

    您可以提供範例 JSON 回覆,您通常可以在要呼叫 API 的文件中找到該範例。 這會產生 Power Fx 變數,供您用於製作畫布中的其他位置,並在 Power Fx 編輯器中提供 IntelliSense 支援。 選擇從範例資料,然後選擇從範例 JSON 取得結構描述。 將範例回覆貼到編輯器中,然後選擇確認

  8. 將使用者回應儲存為下,選擇您希望儲存 HTTP 請求回應的位置,可以建立一個新變數或選擇一個現有變數。

在 HTTP 要求本文中傳送內容

  1. 在節點的 [標頭和本文 ] 下,選取 [ 編輯 ] 按鈕,這會開啟 [HTTP 要求屬性 ] 面板。

  2. 本文底下,選取適當的內容類型。 預設情況下,本文會設為無內容,其中要求本文中不應存在任何內容,這最常用於 GET 要求。 若要將內容新增至本文,請選取其中一個可用的選項。

    本文內容選項下拉式清單的螢幕擷取畫面

    • JSON 內容:JSON 內容可讓您在要求本文中提供 JSON 物件。 此物件通常在發出 POST 或 PUT 要求時使用。 選擇此選項後,編輯器可讓您輸入 JSON 內容。

      您還能使用 Power Fx 指定 JSON 內容,讓您可以包含動態值和參考變數。 選取編輯 JSON 按鈕、選擇公式,然後輸入 Power Fx 物件 (任何已輸入的現有 JSON 都會為您轉換成 Power Fx 物件),此物件會在提出 HTTP 要求時轉換成 JSON。

      為本文內容類型選取的 JSON 內容螢幕擷取畫面。

    • 原始內容:原始內容可讓您將資料的字串插入至要求本文中,此字串可以是任何您指定的內容類型。 使用 Power Fx 公式輸入原始內容,例如下列範例中顯示的字串內容。

      為本文內容類型所選 RAW 內容的螢幕擷取畫面。

錯誤處理和逾時

HTTP 要求節點有多個選項來處理 HTTP 要求可能會失敗或傳回錯誤的情況。

預設情況下,該功能會引發錯誤。 這表示當 HTTP 請求傳回錯誤或執行失敗時,代理程式將停止其操作並觸發 On Error 系統主題,顯示錯誤訊息。

但是,您可以設定錯誤處理以不觸發 On Error 系統主題。 相反地,您可以將 HTTP 狀態代碼和錯誤回應的任何內容儲存到您指定的變數中。 您可以根據需要查詢這些變數,且主題可以繼續執行。 即使特定 HTTP 請求失敗,如果您希望代理程式繼續執行,此設定也很有用。

若要設定 HTTP 要求 節點的錯誤處理行為:

  1. [標頭和本文] 底下,選取 [編輯]。 HTTP 要求屬性面板隨即出現。

  2. [錯誤處理] 底下,選取所需的行為: 引發錯誤,或 發生錯誤時繼續

  3. 如果您選擇發生錯誤時繼續,請設定狀態代碼及錯誤回應的變數。

    「HTTP 要求」節點的「HTTP 要求屬性」面板的螢幕截圖,其中顯示錯誤處理設定,以繼續處理錯誤。已選取狀態碼和錯誤回覆正文的變數。

在此範例中,如果 HTTP 要求失敗,代理程式會將 HTTP 狀態代碼儲存在變數中 Topic.StatusCode ,以及變數中的 Topic.ErrorResponse 響應主體。 代理程式繼續執行該主題的下一步。

錯誤回覆變數類型為任意。 您可以使用 剖析值 節點,將此變數轉換成 Power Fx 記錄。

[HTTP 要求屬性 ] 面板中,您也可以以毫秒為單位設定 要求逾時 屬性。 預設值為 30 秒。