Traffic TPEG API 開発者ガイド(交通情報)

はじめに

HERE アカウントを取得します

フレキシブル HERE 基本プランから無料の HERE platform アカウントを使用し作成できます。 詳細については、 HERE 基本プランの価格表を参照してください。 または、会社がすでに HERE platform 組織を作成している場合は、組織管理者に連絡して、会社の組織に参加するよう招待してください。

プロジェクトを作成します

プロジェクトを作成するには、次の手順に従います。
  1. HERE アカウントを使用して HERE platform にサインイン。
  2. ランチャーから[プロジェクトマネージャ]を開きます。
  3. [ 新しいプロジェクトを作成] をクリックする。
  4. プロジェクトの名前を入力する。プロジェクト名は一意である必要はありません。
  5. プロジェクト ID を入力します。 プロジェクト ID は組織内で一意である必要があり、組織の有効期間中は変更できません。プロジェクト ID の長さは 4 ~ 16 文字である必要があります。
  6. 任意 :任意の説明を入力します。
  7. [保存]をクリックする。

API キー を入手してください

注 : Traffic TPEG API サービスでは、正式な評価または追加のライセンス契約の一部としてのみ提供される追加の認証アクセスが必要です。 このアクセス権をリクエストするには、HERE の営業担当者に連絡するか、HERE に問い合わせてください。
API キー を取得するには、次の手順を実行します。
  1. HERE アカウントを使用して HERE platform にサインイン。
  2. ランチャから [アクセスマネージャ] を選択します。
  3. [ アプリ] タブを選択し、[ 新しいアプリ を登録 ] をクリックします。
  4. アプリ の名前を入力します。
  5. オプション: アプリ の説明を入力します。
  6. オプション : 前の手順で作成したプロジェクトを、プロジェクト フィールドへの既定のアクセス権から選択します。
  7. [ 登録] をクリックします HERE platform によって、一意のアプリ ID を持つ新しいアプリ が作成されます。
  8. [資格情報]タブで 、[API Keys]を選択 し、[API キーを生成]をクリック して、アプリケーション認証資格情報用に 最大 2 つのAPI キーを生成します。API キー が作成され、表示されます。

リクエストを送信します

トラフィック情報を取得する前に、application/xmlContent-Type HTTP ヘッダーを含む HTTP POST リクエスト として次の XML 本文を initsession リソースに送信します。


<?xml version="1.0" encoding="UTF-8"?>
<init-session>
  <tpeg format="TPEGBinary" messagesize="50000" sessionsize="1000" >
    <loc-ref id="TMC" version="1.3" />
    <loc-ref id="ETL" version="1.0" />
    <loc-ref id="OLR" version="1.0"/>
    <app id="TEC" version="3.2" />
    <app id="TFP" version="1.0" expiration="17" />
  </tpeg>
  <countries current="DE" destination="FR" />
  <configuration>
    <att name="radius" value="10" />
    <att name="expiration" value="600" />
    <att name="timeout" value="300" />
    <att name="frequency" value="180" />
  </configuration>
</init-session> 
注 : 認証方式に応じ AuthorizationBearer て、トークンまたはクエリーパラメータを含むヘッダーを追加する必要があります。 使用可能な認証オプションについては、『 Identity & Access Management 開発者ガイド』を参照してください。

https://tpeg.cit.cc.api.here.com/tpeg/1.0/initsession

XML 応答には、トラフィック情報要求の URL および暗号化キーが含まれています。 応答の例を次に示します。


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<init-session-response 
  url="https://tpeg.traffic.hereapi.com/tpeg/1.0/initsession" 
key="99a8cd635aa563acaf0c486992d297ad">
  <config name="fcd" value="enabled"/>
</init-session-response>
        

交通情報を取得します

initsession 要求を送信した後、application/octet-stream の HTTP ヘッダー Content-Type を含む HTTP POST リクエスト を送信して、トラフィック情報を応答で URL に送信します。 次の例では、単一のポイントの周囲のトラフィック情報を要求します。


<?xml version="1.0" encoding="UTF-8" ?>
<get-messages>
  <locations>
    <loc lat="52.55121" lon="13.16565"/>    
  </locations>
</get-messages>

次に、次の手順に従って、すべての交通情報リクエストを暗号化して圧縮します。
  1. gzip を使用して XML 本文を圧縮します。
  2. gzip ファイルの長さをバイト単位で計算します。
  3. gzip データの長さをリトルエンディアンの 32 ビット整数で圧縮本文に事前に追加します。
  4. gzip の内容と長さの組み合わせを 0 で埋めて、 16 バイト分均等に割り切れるようにします。
  5. AES 128 を使用して、結果として得られる内容と長さのパディングされた組み合わせを次のように暗号化します。
    1. 16 バイトのランダムな整数を作成します。
    2. AES InitSession は、手順 4. の結果を CBC モードで暗号化します。このとき、手順 5. a で生成された整数が初期化ベクターとして使用され、応答のキーが使用されます。 追加のパディングは適用しません。
  6. AES で暗号化されたデータの結果のブロックを HTTP POST リクエスト として送信 します。このブロックには、ステップ 5.a で content type application/octet-stream として生成された整数が事前に付加され、initsession 応答で URL に送信されます。
図 1. 暗号化の手順
次の手順に従って、暗号化手順を逆にして応答を復号化します。
  1. 応答の最初の 16 バイトを抽出します。
  2. 手順 1 のセッションキーを使用して、 AES で残りの応答を復号化します。
  3. 復号化されたデータの最初の 4 バイトから gzip コンテンツの長さを抽出します。
  4. gzip コンテンツを TPEGBinary 形式に展開します。
図 2. 復号化手順

次のステップ

HERE Traffic TPEG API リファレンス の実装方法の詳細については、 HERE Traffic TPEG API の他に、概念およびチュートリアルのセクションを参照することをお勧めします。