REST API を使用して分析データにアクセスする方法。
開始前に
API Connect REST API呼び出しは、authorizationヘッダーのベアラートークンを使って認証されます。 ツールキットの資格情報を使用して、ベアラー・トークンを要求します。 ツールキットの認証情報は、
API Manager UIで見つけることができます:
- API Manager UI にログインします。
- ホーム・ページで、 「ツールキットのダウンロード」 タイルをクリックします。
- Toolkit の資格情報をダウンロードします。
- ダウンロードした
credentials.json ファイルを開きます。...
"toolkit": {
"endpoint": "https://mgmt.api.example.com/api",
"client_id": "7409693f-f726-48b4-8909-7c0d26f13e81",
"client_secret": "5feeb0be-17f8-41a4-96d6-d40f33d69ef6"
},
...
このファイルの toolkit.client_id、 toolkit.client_secret、および toolkit.endpoint をメモします。 これらの値を使用して、ベアラー・トークンを取得します。
手順
- API キーを作成します。 APIキーの作成方法の詳細については、 プラットフォームREST APIキーの管理を参照してください。
- APIキーを使用してベアラートークンをリクエストします:
curl -v -k -X POST -d '{"api_key": "<api_key>", "client_id": "<client_id>", "client_secret": "<client_secret>", "grant_type": "api_key"}' -H 'Content-Type: application/json' -H 'Accept: application/json' https://<management_server_platform_api_endpoint>/api/token
ここで、
<api-key> は生成したAPIキーです。
<client_id> は、 ファイルの "toolkit" セクションにあるクライアント ID、または クラウド管理者から提供されたものです。 credentials.json API Connect
<client_secret> は、 ファイルの "toolkit" セクションにあるクライアント・シークレット、または クラウド管理者から提供されたものです。 credentials.json API Connect
ベアラー・トークンは、access_token プロパティーで返されます。
{
"access_token": "<bearer_token>",
"token_type": "Bearer",
"expires_in": 28800
}
expires_in 値をメモします。これは、トークンの有効期限が切れるまでの秒数です。 有効期限が切れた後、新しいベアラー・トークンを要求する必要があります。
- 返されたベアラートークンを使用して、アナリティクス REST API を呼び出します。
# This call to /orgs/<provider_organization>/events requires a bearer token that was requested with provider org credentials:
curl -k -H 'Authorization: Bearer <bearer_token>' -X GET --url 'https://<platform api endpoint>/analytics/<analytics_service>/orgs/<provider_organization>/events'
{
"total": 300,
"search_time": 3,
"events": [...]
}
# This call to the consumer API: orgs/<consumer org>/dashboard, requires a bearer token that was requested with consumer org credentials.
curl -k -H 'X-IBM-Consumer-Context: <provider org>.<catalog>' -H 'Authorization: Bearer <bearer_token>' -X GET --url 'https://<consumer api endpoint>/consumer-analytics/orgs/<consumer org>/dashboard'
{
"search_time": 16,
"status_codes": {
"total": 300,
"data": [...]
},
"min_response_time": {
"data": ...
...
ここで、
<platform api endpoint> は であるが、分析APIにアクセスするために、 を に置き換えたものである。 toolkit.endpoint /api /analytics
<analytics_service> は、分析サービスの名前です。
- <bearer_token>はステップ 2のトークンである。 トークンを引用符で囲まないでください。
- クエリ パラメータを使用して結果をフィルターし、特定のフィールドのみを表示します。
特定のアナリティクス・イベント・レコードを検索したい場合は、APIコールにクエリ・パラメータを追加します。 たとえば、特定の API および製品への呼び出しのイベント データのみを取得するには、次のようにします。
/events?api_name=<api name>&product_name=<product name>
出力で特定のAPIイベントレコードフィールドのみを取得するには、
fieldsクエリパラメータ。 たとえば、API 名と呼び出し時刻のみを取得するには、次のようにします。
/events?fields=api_name,datetime
特定の時間の前または後のイベントのみをリクエストするには、
startそして
endパラメーター。 例:
/events?start=2024-07-11T10:01:00.000Z&end=2024-07-11T10:02:00.000Z
次のタスク
アナリティクスREST APIの完全なドキュメントはこちらです: Analytics REST API.