公開API服務模板可幫助您創建一個無需鑒權和SDK即可直接調用的API服務,且創建之后無法再修改為需要AppKey鑒權的API。該API主要用于更簡單的物聯網能力輸出。

前提條件

已完成創建項目。詳細內容,請參見項目

創建公開API模板業務服務

注意
  • 公開API服務中不能配置的節點:設備節點的各產品、MQTT發布、移動應用推送、應用推送、項目內API、變量設置和鍵值對操作。使用以上節點需要鑒權,在外部(除Web可視化開發外)直接調用公開API時,將無法獲取節點的輸出數據。

    您可創建空白的業務服務,配置所需的鑒權節點,發布為鑒權API。外部調用該API時,所依賴的SDK即可完成節點鑒權。

  • 外部可直接調用HTTP協議的公開API,來獲取其返回數據,如果該數據中包含敏感信息,則有嚴重泄漏風險。為保障您數據的安全性,請謹慎配置和使用公開API。
  1. 登錄物聯網應用開發控制臺,在頁面左上角選擇對應實例后,在左側導航欄單擊項目管理
    您也可登錄物聯網平臺控制臺,在左側導航欄選擇增值服務,單擊選購增值服務中的前往查看服務,在增值服務中心,單擊IoT Studio區域的立即試用,進入IoT Studio控制臺。
  2. 在普通項目列表中,找到目標項目,單擊項目卡片。
    您也可單擊全局資源項目,進入該項目詳情頁面。
  3. 在項目的主頁選擇業務邏輯頁簽。
  4. 單擊業務服務列表左上方的新建,選擇從模板新建
  5. 業務邏輯開發頁面,單擊右上方展開更多模板
  6. 找到并單擊公開API模板卡片。
    公開API
  7. 在右側的從模板創建業務邏輯頁面,配置服務基本信息。
    參數 說明
    服務名稱 自定義服務名稱。

    僅支持中文漢字、英文字母、數字、下劃線(_)、連接號(-)和英文圓括號(()),且必須以中文漢字、英文字母或數字開頭,長度不超過30個字符(一個中文漢字算一個字符)。

    所屬項目 顯示服務所屬的項目。
    描述 描述服務的用途等信息。長度不超過100個字符(一個中文漢字算一個字符)。
  8. 單擊使用該模板新建
    業務服務創建成功后,頁面跳轉至業務服務的編輯頁面,并自動生成了一個業務流,您可根據實際需求配置節點參數。 公開API服務流

編輯服務流

  1. 在業務服務編輯畫布中,單擊HTTP請求節點,設置調用該API服務時,參數Action的值(例如:GetValue)。
    其他更多參數配置,請參見HTTP請求HTTP請求節點
  2. 單擊腳本節點,進行節點配置。
    以空白模板中的腳本方法為例,如圖所示。腳本節點更多詳細的配置操作,請參見Node.js腳本設備節點配置
  3. 單擊HTTP返回節點,設置該API服務的返回值。
    以直接返回上一節點(payload)值(例如:hello world)為例,如圖所示。更多配置內容,請參見HTTP返回HTTP返回值
  4. 單擊頁面右上角保存按鈕保存

調試與發布

  1. 在業務服務編輯頁面,單擊右上方的部署調試按鈕部署,部署服務。
  2. 服務部署成功后,再次單擊部署調試按鈕部署,調試該服務。
    調試服務
  3. 單擊調試右側的發布按鈕,發布該服務。
    業務需要發布到云端,才能被調用。發布服務

已發布API調用示例

下文以curl命令為例,描述已發布API的直接調用方法。

  1. 單擊頁面最左側的服務調用設置按鈕設置
  2. API調用方式頁簽,獲取POST的API Path值(例如:http://*.com)和action的默認值(例如:GetValue)。
    服務詳情
  3. 打開系統的命令窗口,輸入curl命令。
    說明 命令中的action的值GetValue、和API Path的值http://*.com僅為示例,實際場景中需要替換為上一步獲取的數據。
    curl -v -X POST -d "{'params':{'action':'GetValue'},'request':{'apiVer':'1.0.0'},'version':'1.0','id': 12}" http://*.com
  4. 按回車鍵,執行命令,獲取API的返回結果。
    {"code":200,"data":"hello world","success":true,"description":"請求成功","id":"2e8fee80-***-***","message":"success"}
    返回結果

API的更多調用方式,可查看API調用方式頁簽下方的請求示例