IAM アクセス・トークンの取得
Activity Tracking API を使用するには、IBM Cloud® Identity and Access Management (IAM) アクセス・トークンを使用する必要があります。 各トークンは 1 時間のみ有効であり、トークンの有効期限が切れた後も引き続き 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 キーを作成し、API キーを IBM Cloud IAM トークンに交換します。
-
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 ID サービス 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
値を使用し、接頭部として_ベアラー_トークン・タイプを付けます。