API整合中的四種參數的傳遞
初學者在呼叫介面時可能對某些特殊類型的參數有些無從上手。以下是 4 種參數的範例:
- 文件和圖像的 URL
- 普通陣列
- 物件陣列
- 圖片的 Base64
一、文件/圖像URL
例如文字辨識等接口,傳遞的參數是圖片的URL,所以接口伺服器只要存取到該URL,就可以辨識該圖片或文件。
如果傳遞的URL的參數需要在文件欄位中選擇圖片或文檔,則需要透過工作流取得。
- API查詢欄位 創建新資料時不使用該欄位。相反,儲存資料後,透過工作流中的程式碼區塊節點取得附加影像的 URL,並將其寫入影像 URL 欄位(文字控制項),然後才能按一下 API 查詢按鈕,並選擇影像 URL 欄位為 URL 參數。
- 呼叫整合API節點 工作流中先透過程式碼區塊節點取得圖片的URL,URL參數選擇程式碼區塊的輸出URL。
二、普通陣列
向群組機器人發送文字的介面為例,有一個參數需要傳遞一個普通陣列。
普通陣列 的格式:[element1,element2,...] 。
這裡傳遞的是該成員的手機號碼 。若需要提及群組中的所有成員,格式為["@all"] 。
目前這種格式的陣列只能透過程式碼區塊直接輸出,所以要傳遞這種類型的參數需要一個工作流。
創建新資料時,陣列參數無法透過API查詢欄位傳遞,只有在資料創建後,才能透過工作流獲取,並點擊API查詢按鈕。
1. 取得普通陣列
發送簡訊來取得手機號碼陣列為例。
2. 工作流節點-呼叫整合API
2.1 工作表設定
2.1.1 新增提醒成員欄位
成員欄位是多選的。
2.1.2 新增「全部提醒」欄位
如果選中,則陣列為["@all"] 。
2.2 工作流設定
可以是按鈕觸發的工作流,也可以是新資料觸發的工作流,取決於您的實際需求。
2.2.1 新增分支節點,Alert all/Alert提及的成員
當工作流觸發時,首先查看是否所有成員都被提醒,如果沒有,請取得需要提醒的成員。
如果不需要提醒所有成員,您可以刪除相關欄位和分支流。
2.2.2 分行 - 通知所有
- 2.2.2.1)依程式碼區塊節點輸出["@all"]陣列。
- 2.2.2.2) 透過JSON解析節點取得陣列。
- 2.2.2.3)設定呼叫整合API節點時,選擇JSON解析節點中的陣列
2.2.3 分行 - 提醒提及的成員
- 2.2.3.1)讓組織中的成員收到警報
- 2.2.3.2)透過代碼區塊將成員手機號碼轉換為陣列
測試前,將手機號碼參數寫入固定值。 測試成功後,將其替換為節點中的欄位。
var mobiles= JSON.parse(input.mobile.replace(/\+886/g, ""))
output = {mobiles:mobiles}; - 2.2.3.3)透過JSON解析節點取得陣列
- 2.2.3.4) 設定呼叫整合API節點時,選擇JSON解析節點中的陣列
3. 工作表欄位 - API查詢
透過 API 查詢欄位傳遞普通陣列與在工作流中不同,工作流中不同元素之間只需要逗號,不需要中間括號。因此,當透過 API 查詢欄位傳遞普通陣列時,您可以選擇文字欄位或多選欄位,因為它們可以以此格式儲存陣列。
- 提醒提及的成員
- 提醒所有
這裡也以向WeCom群發送簡訊為例。在API查詢之前,需要透過工作流取得手機號碼列表,並將其寫入文字欄位,選擇普通陣列的參數。