使用OpenAPI示例
本文為您介紹使用OpenAPI查詢項目列表的完整示例。
查看OpenAPI文檔
通過閱讀API列表得知,通過查詢項目列表的OpenAPI為QueryStudioProjectList。請您根據文檔,了解調用該接口需要準備的數據和權限。
創建RAM用戶并授權
身份
您可以使用阿里云賬號(主賬號)、RAM用戶、RAM角色調用該接口,有關各種身份的差異,請參見身份、憑證、授權的概述。本案例中,我們使用RAM用戶進行接口調用。
登錄RAM訪問控制,創建一個僅允許API調用的RAM用戶,并記錄AccessKey信息。具體操作,請參見創建RAM用戶。
授權
訪問RAM用戶列表,單擊目標RAM用戶操作列的添加權限。
在選擇權限區塊中輸入關鍵字
IoT
進行搜索,選擇AliyunIOTFullAccess策略。說明物聯網平臺的系統權限策略如下:
AliyunIOTFullAccess:管理物聯網平臺(IoT)的權限。
AliyunIOTReadOnlyAccess:只讀訪問物聯網平臺(IoT)的權限。
關于如何創建自定義權限,請參見授權信息。
單擊確定,完成授權操作。
憑證
在創建RAM用戶時會默認生成一個AccessKey,可直接使用。
您也可以進入到對應的RAM用戶詳情頁面,在認證管理頁簽,單擊創建AccessKey,創建一個新的AccessKey。具體操作,請參見創建AccessKey。
調用OpenAPI
本文以Python語言為例,為您介紹OpenAPI的調用方法。
準備Python環境
先查看當前系統是否安裝Python3版本。
Linux和macOS系統
打開系統終端,輸入
python3 --version
。系統回顯Python版本號,表示已安裝Python3。否則,執行下一步,安裝Python3。
Windows系統
在Python的安裝路徑下,雙擊python.exe,打開命令提示符頁面。您也可通過鍵盤快捷鍵Win+R打開運行對話框,輸入命令python,單擊確定。
系統回顯類似如下,進入Python交互式環境,表示Python安裝成功。
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
下載并安裝Python。
Python 3的下載地址,請參見Python 3。
Linux
獲取Python包。
wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
解壓縮Python包。
tar -zxvf Python-3.9.6.tgz
切換到解壓后的目錄,指定安裝路徑。
cd Python-3.9.6 sudo ./configure --prefix=/usr/bin/python3
編譯并安裝Python。
make make install
配置Python3環境變量。
例如Ubuntu的Linux系統,可執行以下命令。
打開
.bashrc
文件,在文件底部nano ~/.bashrc
在文件底部添加以下內容,保存并關閉。
export PATH=$PATH:/usr/bin/python3
執行以下命令,更新環境變量。
source ~/.bashrc
執行以下命令,可查看環境變量包含Python3安裝路徑。
echo $PATH
macOS
該系統自帶有Python2.7環境,推薦下載最新版安裝Python 3.x版本。
下載安裝包后,雙擊安裝包,進入Python安裝向導對話框。
單擊繼續,按照指示進行配置和安裝。
根據Python3安裝路徑,配置對應環境變量。
Windows
下載后,雙擊下載包,進入Python安裝向導,使用默認設置并選中Add Python 3.9 to PATH。
單擊Install Now,開始安裝。
安裝完成后,單擊Close,關閉安裝窗口。
參照步驟1查看Python3版本,顯示對應版本,表示安裝成功。
配置環境變量
為避免將AccessKey硬編碼到業務代碼中帶來的安全風險,本示例采用配置環境變量的方法管理AccessKey。
Linux和macOS系統
將以下命令中的
<access_key_id>
和<access_key_secret>
替換為您自己的AccessKey ID和AccessKey Secret,輸入到終端執行。export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
Windows系統
新建環境變量文件,添加環境變量
ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
,并寫入已準備好的AccessKey ID和AccessKey Secret,然后重啟Windows系統。
安裝依賴
pip3 install alibabacloud_tea_openapi
pip3 install alibabacloud_iot20180120
pip3 install alibabacloud-tea-console
下載示例代碼
在OpenAPI門戶,訪問QueryStudioProjectList接口的調試地址。
請求參數IotInstanceId輸入對應值,其他參數可不填寫。
單擊發起調用。
調用結果頁簽顯示調用成功后,先單擊SDK示例頁簽,再單擊Python頁簽。
單擊下載完整工程,下載示例代碼包。
在本地解壓示例代碼包,并進入alibabacloud_sample目錄。
運行代碼
執行以下命令:
python sample.py
輸出結果如下:
{
"headers": {
"date": "Wed, 16 Aug 2023 08:24:08 GMT",
"content-type": "application/json;charset=utf-8",
"content-length": "151",
"connection": "keep-alive",
"keep-alive": "timeout=25",
"access-control-allow-origin": "*",
"access-control-expose-headers": "*",
"x-acs-request-id": "F9DE9680-6277-5CAF-A721-44E84B6B1F61",
"x-acs-trace-id": "6d24****************92c8d1515e8",
"etag": "1wt*****************GA1"
},
"statusCode": 200,
"body": {
"Data": {
"List": {
"ProjectInfo": [{
"Description": "",
"GmtCreate": 1685066343000,
"GmtModified": 1685066343000,
"Name": "*****項目",
"ProjectId": "a12**********ujf"
}, {
"Description": "",
"GmtCreate": 1684913232000,
"GmtModified": 1684913232000,
"Name": "******1",
"ProjectId": "a12*********VZm"
}]
},
"PageNo": 1,
"PageSize": 20,
"Total": 0,
"TotalPage": 0
},
"RequestId": "F9DE9680-6277-5CAF-A721-44E84B6B1F61",
"Success": true
}
}