擷取 IAM 存取記號
若要使用「活動追蹤 API」,您必須使用 IBM Cloud® Identity and Access Management (IAM) 存取記號。 每一個記號只有效一個小時,在記號到期之後,如果您要繼續使用 API,則必須要求新的記號。
使用 IBM Cloud CLI 擷取現行階段作業的存取記號
您可以使用 IBM Cloud CLI 來產生 IAM 存取記號。
請完成下列步驟,以產生現行階段作業的存取記號:
-
使用 IBM Cloud CLI 登入 IBM Cloud。
ibmcloud login如果登入失敗,請執行
ibmcloud login --sso指令再試一次。 當您使用聯合 ID 登入時,需要--sso參數。 如果使用這個選項,請前往 CLI 輸出中所列的鏈結,以產生一次性的通行碼。 -
執行下列指令,以擷取 Cloud IAM 存取記號。
ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'下列縮減的範例顯示擷取的 IAM 記號。
IAM token: Bearer eyJraWQiOiIyM...
使用 API 金鑰及 IBM Cloud CLI 擷取存取記號
您也可以透過建立應用程式的 服務 ID API 金鑰,然後交換 IBM Cloud IAM 記號的 API 金鑰,以程式化方式擷取存取記號。
-
使用 IBM Cloud CLI 登入 IBM Cloud。
ibmcloud login -a cloud.ibm.com [--apikey KEY | @KEY_FILE]其中
KEY | @KEY_FILE是您要用來取得存取記號的 API 金鑰。 -
執行下列指令,以取得 IAM 存取記號。
ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'下列縮減的範例顯示擷取的 IAM 記號。
IAM token: Bearer eyJraWQiOiIyM...
在 cURL 要求中使用 API 金鑰來擷取存取記號
執行下列 cURL 指令,以呼叫 IAM Identity Services API 來擷取您的存取記號:
curl -X POST \
'https://iam.cloud.ibm.com/identity/token' \
-H 'content-type: application/x-www-form-urlencoded' \
-H 'accept: application/json' \
-d 'grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=<API_KEY>' > token.json
將 <API_KEY> 取代為您的 API 金鑰。
下列截斷的範例顯示 token.json 檔案的內容:
{
"access_token": "b3VyIGZhdGhlc...",
"expiration": 1512161390,
"expires_in": 3600,
"refresh_token": "dGhpcyBjb250a...",
"token_type": "Bearer"
}
使用完整 access_token 值,字首為 Bearer 記號類型。