資格情報の取得

HERE platform のすべてのユーザーが、認証と承認の資格情報を取得する必要があります。

使用可能な認証オプションについては、『IIdentity & Access Management 開発者ガイド』を参照してください。

注 : データ クライアント ライブラリをダウンロードしています

データ クライアント ライブラリ をダウンロードするには 、リポジトリ資格情報 が必要です。 資格情報 を取得するには、HERE プラットフォームにログインして https://platform.here.com/profile/repository に移動します。 資格情報 の作成をクリックし、 settings.xml ファイルをダウンロードします。

資格情報オプション

以下のスニペットは、データ クライアント ライブラリをプラットフォーム資格情報に提供するさまざまな方法を示しています。

引数として資格情報を指定せずに新しいサービスクライアントを初期化すると、データ クライアント ライブラリはデフォルトの資格情報プロバイダチェーンを使用してプラットフォーム資格情報の検索を試みます。 JVM クラスパス内のプラットフォーム資格情報ファイル、デフォルトの場所であるプラットフォーム資格情報のダウンロード場所 ()~/.here/credentials.properties、および Java のシステムプロパティが、この順序でダウンロードされます。

注 : 請求タグとオプションのプロジェクト範囲

以下のスニペットでは、 HERE platform 請求タグの使用方法についても説明します。このタグは、後でこれらのリクエストの請求にリクエストを関連付けるために、プラットフォームへのリクエストで使用できます。

設定プロパティ here.token.scope/here-token-scope は任意です。 プロジェクトリソース ( カタログ、スキーマ、パイプライン ) へのアクセスを提供します。

アプリケーションの設定ファイルを使用して資格情報を設定します

これが推奨されるアプローチです。

プラットフォーム資格情報の値に基づいて application.conf 、ファイルに次のパラメータを含めます。

HERE アカウント
here.platform.data-client.request-signer {
  billing-tag = "example_billing_tag"
  credentials {
    here-account {
      here-token-endpoint-url = "https://account.api.here.com/oauth2/token"
      here-client-id = "example-client-id"
      here-access-key-id = "example-access-key-id"
      here-access-key-secret = "example-access-key-secret"
      here-token-scope = "example-token-scope [optional]"
    }
  }
}

HERE トークン
here.platform.data-client.request-signer {
  billing-tag = "example_billing_tag"
  credentials {
    here-token = "example-token"
  }
}

資格情報ファイルで資格情報を設定します

データ クライアント ライブラリは、 HERE アクセスキーを読み取り credentials.properties 、ファイルからシークレットデータにアクセスできます。

  • クライアントは credentials.properties 、 Java 仮想マシン (JVM) のクラスパスでファイルを探します。

  • プラットフォーム資格情報を検索する代替の場所がにあります ~/.here/credentials.properties

  • または application.conf 、ファイル内の別の資格情報ファイルの場所を指定することもできます。

  here.platform.data-client.request-signer {
    billing-tag = "example_billing_tag"
    credentials {
     file-path = "/path/credentials.properties"
    }
  }

資格情報プロパティファイルの例 :

  here.user.id = example-here-user-id
  here.client.id = example-client-id
  here.access.key.id = example-access-key-id
  here.access.key.secret = example-access-key-secret
  here.token.endpoint.url = https://account.api.here.com/oauth2/token
  here.token.scope = hrn:here:authorization:::project/example-project

注 : 以前に生成したトークンを使用して

以前に生成された HERE トークンは、プラットフォーム資格情報ファイル形式ではサポートされていません。

Java の [ システムのプロパティ ] で資格情報を設定します

Java システムのプロパティを使用して資格情報を設定するには、次の項目を定義します。

HERE アカウント
-Dhere.platform.data-client.request-signer.credentials.here-account.here-token-endpoint-url="https://account.api.here.com/oauth2/token"
-Dhere.platform.data-client.request-signer.credentials.here-account.here-client-id="example-client-id"
-Dhere.platform.data-client.request-signer.credentials.here-account.here-access-key-id="example-access-key-id"
-Dhere.platform.data-client.request-signer.credentials.here-account.here-access-key-secret="example-access-key-secret"
-Dhere.platform.data-client.request-signer.credentials.here-account.here-token-scope="example-token-scope [optional]"

HERE トークン
-Dhere.platform.data-client.request-signer.credentials.here-token="example-token"

資格情報をプログラムで設定します

HERE アカウントをプログラムで設定するには、次のものをプロジェクトに含めます。

Scala
Java
val exampleHrn = HRN(s"hrn:${DiscoveryService.env}:data:::demo-catalog")

val dataClient = DataClient()

val settings =
  DataClient().defaultSettings
    .withRequestSignerSettings(
      HereAccountRequestSignerSettings(
        hereClientId = "<here-account-client-id>",
        hereAccessKeyId = "<here-account-access-key-id>",
        hereAccessKeySecret = "<here-account-access-key-secret>",
        hereTokenScope = Some("<here-token-scope [optional]>")
      )
    )
    .withBillingTag("<billing-tag>")

dataClient.queryApi(exampleHrn, settings)
HRN exampleHrn = HRN.fromString("hrn:here:data:::demo-catalog");

DataClient dataClient = DataClient.get(myActorSystem);

Settings defaultSettings = dataClient.defaultSettings();

HereAccountRequestSignerSettings hereAccountRequestSignerSettings =
    new HereAccountRequestSignerSettings.Builder()
        .withHereClientId("<here-account-client-id>")
        .withHereAccessKeyId("<here-account-access-key>")
        .withHereAccessKeySecret("<here-account-access-secret>")
        .withHereTokenScope("<here-token-scope [optional]>")
        .withHereTokenEndpointUrl("<here-token-endpoint-url [optional]>")
        .build();

Settings settings =
    defaultSettings
        .withRequestSignerSettings(hereAccountRequestSignerSettings)
        .withBillingTag("<billing-tag>");

QueryApi queryApi = dataClient.queryApi(exampleHrn, settings);

HERE トークンをプログラムで設定するには、プロジェクトに次のものを含めます。

Scala
Java
val exampleHrn = HRN(s"hrn:${DiscoveryService.env}:data:::demo-catalog")

val dataClient = DataClient()

val settings =
  DataClient().defaultSettings
    .withRequestSignerSettings(
      HereTokenRequestSignerSettings(
        hereToken = "<here-token>"
      )
    )
    .withBillingTag("<billing-tag>")

dataClient.queryApi(exampleHrn, settings)
HRN exampleHrn = HRN.fromString("hrn:here:data:::demo-catalog");

DataClient dataClient = DataClient.get(myActorSystem);

Settings defaultSettings = dataClient.defaultSettings();

RequestSignerSettings hereTokenRequestSignerSettings =
    new HereTokenRequestSignerSettings.Builder().withHereToken("<here-token>").build();

Settings settings =
    defaultSettings
        .withRequestSignerSettings(hereTokenRequestSignerSettings)
        .withBillingTag("<billing-tag>");

QueryApi queryApi = dataClient.queryApi(exampleHrn, settings);

」に一致する結果は 件です

    」に一致する結果はありません