Java Booking API クライアント

Java Real Time Update 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 クライアント ライブラリをプロジェクトの依存関係に追加します(jar ファイルには mapsbooking ディレクトリと libs-sources ディレクトリに追加します)。
  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 を使用してアベイルズの置換呼び出しを行うと、呼び出しでエラー メッセージがスローされません。これは、RTU を介して予約枠に変更を加えた場合、順不同での実行がサポートされ、merchantId または serviceId と関連付けられないためです。ただし、無効な MerchantId または serviceId のため、リクエストのスロットは本番環境では提供されません。スロットを配信可能にするには、RTU またはフィードを介して、不足している販売者またはサービスを追加してください。
  3. すべての更新関数で、更新するフィールドを指定するには、パラメータ「updateMask」を FieldMask 形式にする必要があります。API では、マスクで指定したフィールドの値のみを変更し、他のフィールドはそのままにしておく必要があります。間違った updateMask 文字列を渡しても、更新は有効になりません。更新時にフィールド マスクが存在しない場合、オペレーションはすべてのフィールドに適用されます(すべてのフィールドのフィールド マスクが指定されているかのように)。そのため、すべてのフィールドを更新する場合は、updateMask を空に設定します。
  4. 値がゼロのフィールドはすべてレスポンスに含まれません。