擷取 IAM 存取記號

若要使用「活動追蹤 API」,您必須使用 IBM Cloud® Identity and Access Management (IAM) 存取記號。 每一個記號只有效一個小時,在記號到期之後,如果您要繼續使用 API,則必須要求新的記號。

使用 IBM Cloud CLI 擷取現行階段作業的存取記號

您可以使用 IBM Cloud CLI 來產生 IAM 存取記號。

請完成下列步驟,以產生現行階段作業的存取記號:

  1. 使用 IBM Cloud CLI 登入 IBM Cloud。

    ibmcloud login
    

    如果登入失敗,請執行 ibmcloud login --sso 指令再試一次。 當您使用聯合 ID 登入時,需要 --sso 參數。 如果使用這個選項,請前往 CLI 輸出中所列的鏈結,以產生一次性的通行碼。

  2. 執行下列指令,以擷取 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 金鑰,以程式化方式擷取存取記號。

  1. 使用 IBM Cloud CLI 登入 IBM Cloud。

    ibmcloud login -a cloud.ibm.com [--apikey KEY | @KEY_FILE]
    

    其中 KEY | @KEY_FILE 是您要用來取得存取記號的 API 金鑰。

  2. 執行下列指令,以取得 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 記號類型。