1. トークンの取得
音声認識等の API を利用するためにはアクセストークンが必要です。このアクセストークンは以下のステップで取得することができます。
- Step1 : mimi API Console へログイン
- Step2 : アプリケーションの登録
- Step3 : クライアントの登録
- Step4 : シークレットキーの取得
- Step5 : アクセストークンの発行
ここでは、初めて mimi を利用する方に向けて、これらのステップを順に説明します。
Step1:mimi API Console へのログイン
Step1〜4までは、mimi API Consoleを操作して進めます。
まずは、Web ブラウザから mimi API Console にログインしてください。 Google アカウントをお持ちでない場合は、アカウントを作成して Web ブラウザで Google にログインした上で、「 Sign in with Google 」ボタンを押してください。
Step2:アプリケーションの登録
ログイン後、利用規約に同意すると、トップページに遷移します。左上のメニューボタンをクリックして、「アプリケーション」をクリックしてください。
![home-navi-application.png 1578](https://files.readme.io/3bb3d4a-home-navi-application.png)
アプリケーション一覧画面に遷移したら、アプリケーションの新規作成を行います。
画面上部の「新規登録」ボタンをクリックしてください。
アプリケーションの登録画面が開いたら、登録するアプリケーションの基本情報を入力します。今回は試しに以下の情報を入力してみてください。
- アプリケーション名:test-app
- アプリケーションの説明:テストアプリ
- クライアント認証方式:mimi がクライアントIDを発行する
- スコープ:Google Speech API のみ「なし」に設定
※ 利用プラン に記載の通り、無料プランの場合は Google Speech API( Google™ Cloud Speech-to-Text )以外の機能をお試しいただけます。
スコープの指定について
ここでは利用したいサービスを元に適切なスコープを指定してください。アプリケーションやクライアントに対してスコープを設定し、その設定に沿ったトークンのリクエストを行うことで、mimi の各種サービスやリソースの操作権限が与えられたアクセストークンを発行できるようになります。音声認識のアプリケーションを開発するのであれば、スコープで NICT asr を「実行」としてください。これによって、アクセストークン発行時に音声認識の実行権限を付与することが可能となります。詳細はこちら をご覧ください。
「登録」ボタンをクリックすると、アプリケーション一覧画面に「test-app」が表示されます。これでアプリケーションの登録が完了です。
Step3 : クライアントの登録
次にクライアントの登録を行います。アプリケーションの一覧画面から、「test-app」をクリックしてください。アプリケーション詳細画面に遷移したら、「クライアント新規登録」をクリックし、遷移後の画面で「登録」ボタンをクリックします。
Step4 : クライアントシークレットの取得
このStepではアクセストークン発行に必要なパラメータを取得します。Step3 に続いて、クライアント一覧画面から、登録したクライアントIDをクリックしてクライアント詳細画面へ遷移してください。遷移後は、「シークレットキーの発行」ボタンをクリックします。
シークレットキーが発行されたら、アプリケーションID、クライアントID、シークレットキーを手元にメモしてください。
シークレットキーについて
mimi ではアクセストークンを発行するための認証情報としてアプリケーションシークレットやクライアントシークレットを利用します。これらの情報は外部に漏洩しないよう管理し、紛失や忘れがあった場合は再発行をするようにしてください。
Step5 : アクセストークンの発行
アクセストークンの発行には、これまでに用意したアプリケーションID、クライアントID、シークレットキーに加え、スコープの URI が必要となります。
スコープの URI についてはスコープ一覧を参照しながら、アクセストークンに付与したい URI をピックアップするようにします。この時、Step2 や Step3 で設定したアプリケーションやクライアントのスコープ指定外のサービス・エンジンを指定しないようにしてください。
test-app の場合、Step2 の通りスコープ指定を行っているため、例えば以下のような URI をピックアップします。
* https://apis.mimi.fd.ai/auth/asr/http-api-service
* https://apis.mimi.fd.ai/auth/asr/websocket-api-service
* https://apis.mimi.fd.ai/auth/nict-asr/http-api-service
* https://apis.mimi.fd.ai/auth/nict-asr/websocket-api-service
* https://apis.mimi.fd.ai/auth/nict-tts/http-api-service
* https://apis.mimi.fd.ai/auth/nict-tra/http-api-service
ここまでできたら、curl コマンドでアクセストークンを発行します。
フォームパラメータ
下記のパラメータは全て必須です。
パラメータ名 | 説明 |
---|---|
client_id | アプリケーションIDとクライアントIDをコロンで接続した文字列 : |
client_secret | クライアントシークレットキー |
scope | スコープ。複数の場合はセミコロンで区切り列挙する。 ;.. |
grant_type | 認可タイプ。今回は https://auth.mimi.fd.ai/grant_type/client_credentials を指定する。 |
curlコマンドを利用して、以下のように実行します。
実行例
curl -X POST https://auth.mimi.fd.ai/v2/token \
-F grant_type="https://auth.mimi.fd.ai/grant_type/client_credentials" \
-F client_id="<applicationId>:<clientId>" \
-F client_secret="<clientSecret>" \
--form-string scope="https://apis.mimi.fd.ai/auth/asr/http-api-service;https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/nict-asr/http-api-service;https://apis.mimi.fd.ai/auth/nict-asr/websocket-api-service;https://apis.mimi.fd.ai/auth/nict-tts/http-api-service;https://apis.mimi.fd.ai/auth/nict-tra/http-api-service"
応答例
応答はJSON形式で返ります。この応答でaccessToken
が取得できれば成功です。
応答結果の詳細については API リファレンスを参照してください。
{
"code": 200,
"error": "",
"status": "success",
"progress": 100,
"kind": "auth#operation#accesstoken",
"accessToken": "<accessToken>", //発行されたアクセストークン
"expires_in": 3600,
"operationId": "<operationId>",
"selfLink": "https://auth.mimi.fd.ai/v2/operations/<operationId>",
"targetLink": "",
"startTimestamp": 1527040719,
"endTimestamp": 1527040719
}
アクセストークンの有効期限について
有効期限(expires_in)は 3600 秒 ( 1 時間) です。アクセストークンを永続的に利用可能とした場合、外部への流出時などセキュリティリスクが上がるため期限を設定しています。
応答例の実行開始時間(startTimestamp)、実行終了時間(endTimestamp)によって、具体的な有効期間を確認することが可能です。
Updated 5 months ago