アプリケーション・クライアントの操作
アプリケーションやクライアントの操作は、mimi API Console 経由ではなく、 API にリクエストを投げて直接操作することも可能です。ここでは、 cURL を利用して mimi API を直接操作する方法を紹介しています。各APIの仕様は、APIリファレンスを参照してください。
1. アプリケーションの操作
1.1. アプリケーション一覧の取得
デベロッパに従属するアプリケーションの一覧を取得します。
GET /applications アプリケーション一覧の取得 |
実行例 1.1
curl https://apis.mimi.fd.ai/v1/applications \
-H "Authorization: Bearer <accessToken>"
応答例 1.1
[
{
"applicationId": "<applicationId1>",
"name": "ASR-test-app",
"clientIssueType": 0,
"scope": "https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/asr/http-api-service",
"description": "ASR\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3",
"creationTimestamp": 1517368296
},
{
"applicationId": "<applicationId2>",
"name": "TRA-test-app",
"clientIssueType": 0,
"scope": "https://apis.mimi.fd.ai/auth/nict-tra/http-api-service;",
"description": "test application"
"creationTimestamp": 1517368228,
}
]
1.2. アプリケーションの取得(単一)
アプリケーションの情報を取得します。
GET /applications/ アプリケーションの取得 |
実行例 1.2
curl https://apis.mimi.fd.ai/v1/applications/<applicationId> \
-H "Authorization: Bearer <accessToken>"
応答例 1.2
[
{
"applicationId": "<applicationId>",
"name": "application20180118-131906",
"clientIssueType": 0,
"scope": "https://apis.mimi.fd.ai/auth/applications.r;https://apis.mimi.fd.ai/auth/clients.r;https://apis.mimi.fd.ai/auth/clients.w;https://apis.mimi.fd.ai/auth/srs/speaker_groups.r;https://apis.mimi.fd.ai/auth/srs/speaker_groups.w;https://apis.mimi.fd.ai/auth/srs/speakers.r;https://apis.mimi.fd.ai/auth/srs/speeches.r;https://apis.mimi.fd.ai/auth/srs/trainers.r;https://apis.mimi.fd.ai/auth/srs/websocket-api-service;https://apis.mimi.fd.ai/auth/srs/http-api-service",
"description": "\u3053\u306e\u30a2\u30d7\u30ea\u306f20180118-131906\u306b\u4f5c\u6210\u3055\u308c\u305f\u3082\u306e\u3067\u3059",
"creationTimestamp": 1516249144
}
]
1.3. アプリケーションの利用可能数の取得
アプリケーションの利用可能数を取得します。
利用可能数とは、無料枠数とチケット数です。
チケット数は、チケット契約対象の場合のみ有効な数値となっています。
GET /applications/counter |
実行例 1.3
curl https://apis.mimi.fd.ai/v1/applications/counter \
-H "Authorization: Bearer <accessToken>"
応答例 1.3
[
{
"name": "app1",
"counts": {
"free_remained": "50.0",
"ticket_remained": "0.0"
},
"application_id": "<applicationId>"
}
]
2. クライアントの操作
2.1. クライアントの取得(リスト)
アプリケーションに従属するクライアントの一覧を取得します。
GET /applications//clients |
実行例 2.1
curl https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients \
-H "Authorization: Bearer <accessToken>"
応答例 2.1
[
{
"applicationId": "<applicationId1>",
"clientId": "<clientId1>",
"enabled": 1,
"scope": "https://apis.mimi.fd.ai/auth/clients.r;https://apis.mimi.fd.ai/auth/srs/speaker_groups.r;https://apis.mimi.fd.ai/auth/srs/speaker_groups.w;https://apis.mimi.fd.ai/auth/srs/speakers.r;https://apis.mimi.fd.ai/auth/srs/speakers.w;https://apis.mimi.fd.ai/auth/srs/speeches.r;https://apis.mimi.fd.ai/auth/srs/speeches.w;https://apis.mimi.fd.ai/auth/srs/trainers.r;https://apis.mimi.fd.ai/auth/srs/trainers.w;https://apis.mimi.fd.ai/auth/srs/websocket-api-service;https://apis.mimi.fd.ai/auth/srs/http-api-service;https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/asr/http-api-service",
"creationTimestamp": 1517367328
},
{
"applicationId": "<applicationId1>",
"clientId": "<clientId2>",
"enabled": 1,
"scope": "https://apis.mimi.fd.ai/auth/srs/websocket-api-service;https://apis.mimi.fd.ai/auth/srs/http-api-service;https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/asr/http-api-service",
"creationTimestamp": 1517366130
}
]
2.2. クライアントの取得(単一)
クライアントの情報を取得します。
GET /applications//clients/ |
実行例 2.2
curl https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId> \
-H "Authorization: Bearer <accessToken>"
実行例 2.2
[
{
"applicationId": "<applicationId>",
"clientId": "<clientId>",
"enabled": 1,
"scope": "https://apis.mimi.fd.ai/auth/srs/websocket-api-service;https://apis.mimi.fd.ai/auth/srs/http-api-service;https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/asr/http-api-service",
"creationTimestamp": 1517366130
}
]
2.3. クライアントの新規作成
クライアントを新規作成します。
POST /applications//clients |
フォームパラメータ
パラメータ名 | 必須 | デフォルト値 | 説明 |
---|---|---|---|
scope | - | - | クライアントスコープ。指定しなかった場合、クライアントが所属するアプリケーションのアプリケーションスコープがデフォルトスコープとなります。 |
実行例 2.3
curl -X POST https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients \
--form-string scope="https://apis.mimi.fd.ai/auth/srs/websocket-api-service;https://apis.mimi.fd.ai/auth/srs/http-api-service;https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/asr/http-api-service" \
-H "Authorization: Bearer <accessToken>"
応答例 2.3
{
"code": 200,
"error": "",
"status": "success",
"progress": 100,
"kind": "registration#operation#client",
"applicationId": "<applicationId>",
"clientId": "<clientId>",
"secretId": "<secretId>",
"secret": "<clientSecret>",
"operationId": "<operationId>",
"selfLink": "https://apis.mimi.fd.ai/v1/operations/<operationId>",
"targetLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>",
"startTimestamp": 1517366130,
"endTimestamp": 1517366130
}
2.4. クライアントの変更
クライアントの設定を変更します。
PUT /applications//clients/ |
フォームパラメータ
パラメータ名 | 必須 | デフォルト値 | 説明 |
---|---|---|---|
enabled | - | - | クライアントが有効であるかどうか [0 or 1]。0 の場合、クライアントが無効化され、このクライアントからの mimi API アクセストークン取得リクエストは全て拒絶されます。 |
実行例 2.4
curl -X PUT https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId> -F enabled=0 \
-H "Authorization: Bearer <accessToken>"
応答例 2.4
{
"code": 200,
"error": "",
"status": "success",
"progress": 100,
"kind": "registration#operation#client",
"operationId": "<operationId>",
"selfLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>/operations/<operationId>",
"targetLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>",
"startTimestamp": 1521783614,
"endTimestamp": 1521783615
}
2.5. クライアントの削除
クライアントを削除します。
DELETE /applications//clients/ |
実行例 2.5
curl -X DELETE https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId> \
-H "Authorization: Bearer <accessToken>"
応答例 2.5
{
"error": "",
"code": 200,
"status": "success",
"progress": 100,
"kind": "registration#operation#client",
"operationId": "<operationId>",
"selfLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>/operations/<operationId>",
"targetLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>",
"startTimestamp": 1517362215,
"endTimestamp": 1517362215
}
2.6. クライアントシークレットの操作
クライアントシークレットは、発行リクエストの応答で一回限り通知されます。発行時以外には値を確認することはできませんので、紛失した場合は、再作成をする必要があります。
2.6.1. 発行
クライアントシークレットを発行します。
POST /applications//clients/secret |
実行例 2.6
curl -X POST \
https://apis.mimi.fd.ai/v1/applications/<applicationId>/secret \
-H "Authorization: Bearer <accessToken>" \
-H "Content-Length: 0"
応答例 2.6
{
"code": 200,
"error": "",
"status": "success",
"progress": 100,
"kind": "registration#operation#clientsecret",
"secretId": "<secretId>",
"secret": "<clientSecret>",
"operationId": "<applicationId>",
"selfLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>/operations/<operationId>",
"targetLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>/secret/<secretId>",
"startTimestamp": 1510112053,
"endTimestamp": 1510112054
}
2.6.2. 削除
クライアントシークレットを削除します。
実行例 2.6.2
curl -X DELETE https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientSecret>/secret/<secretId> \
-H "Authorization: Bearer <accessToken>"
応答例 2.6.2
{
"code": 200,
"error": "",
"status": "success",
"progress": 100,
"kind": "registration#operation#clientsecret",
"applicationId": "<applicationId>",
"clientId": "<clientId>",
"secretId": "<secretId>",
"operationId": "<operationId>",
"selfLink": "https://apis.mimi.fd.ai/v1/operations/<operationId>",
"targetLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>/secret/<secretId>",
"startTimestamp": 1517376068,
"endTimestamp": 1517376068
}
Updated about 1 year ago