提出 HTTP 要求

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

先決條件

使用 HTTP 要求節點

  1. 選取新增節點 (+),打開進階子功能表,然後選取傳送 HTTP 要求

    進階功能表中傳送 HTTP 要求選項的螢幕擷取畫面。

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

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

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

  4. 在節點上的標頭和本文下,選擇編輯按鈕,這將打開 HTTP 要求屬性窗格。

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

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

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

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

    您可以提供範例 JSON 回覆,您通常可以在要呼叫 API 的文件中找到該範例。 它會生成一個 Power Fx 變數,可讓您在製作畫布中的其他地方使用該變數,並在 Power Fx 編輯器中提供智慧感知支援。 選擇從範例資料,然後選擇從範例 JSON 取得結構描述。 將範例回覆貼到編輯器中,然後選擇確認

    範例 JSON 編輯器的 Get 結構描述螢幕擷取畫面。

  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 要求傳回錯誤或執行失敗時,副手會停止其作業並觸發錯誤系統主題,顯示錯誤訊息。

但是,您可以將錯誤處理設定為不觸發錯誤系統主題。 相反,它會將 HTTP 狀態代碼和任何錯誤回覆本文填入到您指定的變數中,讓您可根據需要查詢這些變數,並使主題繼續執行。 當您希望即使特定 HTTP 要求失敗,副手也能繼續操作時,此設定會非常有用。

設定錯誤處理行為。

  1. 在節點上的標頭和本文下,選擇編輯按鈕,這將打開 HTTP 要求屬性窗格。

  2. 錯誤處理下拉式功能表中選擇您想要的行為。

  3. 如果您選擇在出錯時繼續,請設定狀態碼錯誤回覆本文變數,從選擇器建立新變數或選取現有的變數。

    設定為出現錯誤時繼續的錯誤處理螢幕擷取畫面,狀態碼和錯誤回覆主體指定的變數。

在此程式碼範例中,如果 HTTP 要求失敗,副手會將 HTTP 狀態碼儲存在 Topic.StatusCode 變數中,並將回覆本文儲存在 Topic.ErrorResponse 變數中。 然後副手會繼續主題的後續步驟。

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

屬性窗格也包含要求逾時屬性,該屬性接受以毫秒為單位的值。 預設值為 30 秒,但是您可以視需要變更此值。