【华为云】python调用华为云API,获取token值
目錄
前言
一、API是什么??
二、API有什么用??
三、構(gòu)造請(qǐng)求
1.請(qǐng)求URI
?2.請(qǐng)求方法
四、請(qǐng)求消息體
五、調(diào)試
?總結(jié)
前言
介紹調(diào)用IAM服務(wù)的獲取用戶Token如何調(diào)用API,該API獲取用戶的Token,Token可以用于調(diào)用其他服務(wù)時(shí)鑒權(quán)。
一、API是什么??
API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或硬件得以訪問(wèn)一組例程的能力,而又無(wú)需訪問(wèn)源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。
二、API有什么用??
API 的一個(gè)主要功能是提供通用功能集。 API同時(shí)也是一種中間件,為各種不同平臺(tái)提供 數(shù)據(jù) 共享。 程序設(shè)計(jì)的實(shí)踐中,編程接口的設(shè)計(jì)首先要使軟件系統(tǒng)的職責(zé)得到合理劃分。 良好的接口設(shè)計(jì)可以降低系統(tǒng)各部分的相互依賴,提高組成單元的內(nèi)聚性,降低組成單元間的耦合程度,從而提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。
三、構(gòu)造請(qǐng)求
1.請(qǐng)求URI
我們?nèi)粘U{(diào)用api是使用一個(gè)URI地址
URI由如下部分組成:
{URI-scheme}://{Endpoint}/{resource-path}?{query-string}
https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens/v3/auth/tokens 是獲取用戶token的資源路徑
| 參數(shù) | 描述 |
| URI-scheme | 表示用于傳輸請(qǐng)求的協(xié)議,當(dāng)前所有API均采用HTTPS協(xié)議。 |
| Endpoint | 指定承載REST服務(wù)端點(diǎn)的服務(wù)器域名或IP,不同服務(wù)不同區(qū)域的Endpoint不同,您可以從地區(qū)和終端節(jié)點(diǎn)獲取。 |
| resource-path | 資源路徑,也即API訪問(wèn)路徑。從具體API的URI模塊獲取,例如“獲取用戶Token”API的resource-path為“/v3/auth/tokens”。 |
| query-string | 查詢參數(shù),是可選部分,并不是每個(gè)API都有查詢參數(shù)。查詢參數(shù)前面需要帶一個(gè)“?”,形式為“參數(shù)名=參數(shù)取值”,例如“?limit=10”,表示查詢不超過(guò)10條數(shù)據(jù)。 |
? ? ? ? ? ? ? ? ? ? ? ? ??
?2.請(qǐng)求方法
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens這里使用POST:請(qǐng)求服務(wù)器新增資源或執(zhí)行特殊操作。
四、請(qǐng)求消息體
請(qǐng)求消息體通常以結(jié)構(gòu)化格式(如JSON或XML)發(fā)出
需要指定:Content-Type: application/json? 定義請(qǐng)求體以json文件發(fā)出
其中username為用戶名,domainname為用戶所屬的帳號(hào)名稱,********為用戶登錄密碼
username、domainname、******** 獲取方法如下圖所示:
1、華為云首頁(yè)
2、 點(diǎn)擊憑證
?3、API憑證
username:IAM用戶名?
domainname:賬號(hào)名
project:找到自己區(qū)域所屬項(xiàng)目名稱
?案例:
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json{"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "username", #IAM用戶名"password": "********", #IAM密碼"domain": {"name": "domainname" #用戶所屬的帳號(hào)名稱}}}},"scope": {"project": {"name": "xxxxxxxxxxxxxxxxxx" #所屬項(xiàng)目名稱}}} }五、調(diào)試
在API Explorer中調(diào)試該接口。
也可通過(guò)下圖方法找到
填寫(xiě)完用戶密碼后點(diǎn)擊調(diào)試:
獲取token成功:?
?總結(jié)
1、請(qǐng)求頭 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
2、請(qǐng)求體
{"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "username", ? #IAM用戶名"password": "********", ? #IAM密碼"domain": {"name": "domainname" ?#用戶所屬的帳號(hào)名稱}}}},"scope": {"project": {"name": "xxxxxxxxxxxxxxxxxx" ? #所屬項(xiàng)目名稱}}} }3、最后調(diào)試
總結(jié)
以上是生活随笔為你收集整理的【华为云】python调用华为云API,获取token值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux 亮度调节工具,LINUX下调
- 下一篇: python 离线翻译软件_Python