Java サンプル クライアント

リアルタイム更新の実装を開始するには、Java リアルタイム更新 API クライアントをダウンロードしてください。

前提条件:

サービス アカウントを作成して、秘密鍵をダウンロードします。

始める:

  1. Java クライアント ライブラリをダウンロードし、ファイルを解凍して「mapsbooking」パッケージを取得します。
  2. IDE で Java プロジェクトを作成し、このリポジトリからサンプルコード InventoryUpdate.javaBookingNotification.java をダウンロードします。

    git clone https://maps-booking.googlesource.com/java-maps-booking-api-example

    これらのファイルを src ディレクトリの Java プロジェクトにインポートします。

  3. 秘密鍵(JSON ファイル)のコピーを src ディレクトリに作成します。
  4. Java クライアント ライブラリをプロジェクトの依存関係に追加します(mapsbooking ディレクトリと libs-sources ディレクトリに JAR ファイルを含めます)。
  5. 両方の Java ファイルで、TODO に沿って実装を完了します。

REST API の詳細については、こちらをご覧ください。

トラブルシューティング:

  1. 既存の merchantId または serviceId を使用して新しい販売者/サービスを作成しようとすると、次のエラー メッセージが表示されます。

    409 Conflict
    {
      code : 409,
      errors :
        [{
            domain : global,
            message : Requested entity already exists,
            reason : alreadyExists,
            debugInfo : detail: "[ORIGINAL ERROR] generic::already_exists: ...”\n"
        }],
      message : Requested entity already exists,
      status : ALREADY_EXISTS
    }
  2. 無効な merchantId または serviceId を使用して replace availaiblity 呼び出しを実行しても、エラー メッセージはスローされません。これは、RTU を介した空きスロットの変更が順序外実行をサポートしているため、merchantId または serviceId に関連付けられていないためです。ただし、merchantId または serviceId が無効であるため、リクエスト内のスロットは本番環境で配信されません。予約枠をサービス提供可能にするには、不足している販売者またはサービスを RTU またはフィード経由で追加してください。
  3. すべての更新関数で、更新するフィールドを指定するには、パラメータ「updateMask」を FieldMask 形式にする必要があります。API は、マスクで指定されたフィールドの値のみを変更し、他のフィールドは変更しない必要があります。間違った updateMask 文字列を渡すと、更新は適用されません。更新時にフィールド マスクが存在しない場合、オペレーションはすべてのフィールドに適用されます(すべてのフィールドのフィールド マスクが指定されている場合と同様に)。したがって、すべてのフィールドを更新する場合は、updateMask を空に設定します。
  4. 値がゼロのフィールドはレスポンスに表示されません。