3.3.1.1 プログラムによるアクセス・トークンの生成

アクセスジェネレータ・トークンを使用すると、Webアプリケーションでは、プログラムによってSpatial Studioから短期間のアクセス・トークンを作成または取得することもできます。

次に、アクセス・トークンを作成するためのSpatial Studio REST APIエンドポイントの詳細を示します:

エンドポイント: /spatialstudio/oauth/v1/user/token?name=<NAME>&validTime=<MINUTES>&action=<ACTION>&resourceType=<RESOURCE>

必要なHTTPリクエスト・ヘッダー: ヘッダーの名前はAuthorizationにする必要があり、その値はBearerで始まり、その後に空白、有効なアクセス・ジェネレータ・トークン文字列を続ける必要があります。

次の表は、前述のエンドポイントで使用される問合せパラメータについて説明しています。

表3-1 問合せパラメータ

問合せパラメータ脚注 1 データ型 説明
name 最大128文字(null以外) 作成するトークンの名前を指定します。
validTime integer x -1 >= x >= 9999 新しいトークンが有効を維持する時間(分)を指定します。

ノート: -1の値は、トークンが失効しないことを示します。

action enum[read_only, read_write] 新しいトークンで実行可能なアクションを指定します。
resourceType enum[dataset_streaming, dataset_streaming_refreshing , embedded_published_project, all 新しいトークンでアクセス(操作)可能なリソースのタイプを指定します。

脚注 1 すべての問合せパラメータが必須です。

現時点では、次のactionresourceTypeの組合せを使用して、5種類のトークンのみを作成できます。

  • action=read_only&resourceType=all
  • action=read_write&resourceType=all
  • action=read_only&resourceType=dataset_streaming
  • action=read_write&resourceType=dataset_streaming_refreshing
  • action=read_only&resourceType=embedded_published_project

その他のactionresourceTypeの組合せ(前述のリストに示した有効な組合せ以外)は拒否されます。

次に、アクセス・トークンを取得するためのサンプル・リクエストを示します(Curlコマンドラインを使用)。このトークンにより、Webアプリケーションは、データセットにストリーミング・アクセスできるようになります。また、データセットのベクター・タイルをリフレッシュできるようにもなります。

curl -X POST 'http://localhost:8080/spatialstudio/oauth/v1/user/token?name=test123&validTime=60&action=read_write&resourceType=dataset_streaming_refreshing' --header 'Authorization: Bearer $GENERATORTOKEN'

前述のリクエストは、新しいトークンが含まれているJSONドキュメントを返します。その値は、レスポンスのtokenフィールドに格納されています:

{"name":"test123","token":"eyJ0eXAiOiJzZ3RlY2...", … }