Google の Java リアルタイム アップデート API クライアント: 実装を開始するために役立ちます。 リアルタイムで更新されます
前提条件:
サービス アカウントを作成したら、秘密鍵をダウンロードします。
使ってみる:
- ダウンロード: Java クライアント ライブラリ: ファイルを解凍して「mapsbooking」を取得する パッケージ化されています。
-
IDE で Java プロジェクトを作成し、サンプルコードをダウンロードする InventoryUpdate.java と 次のリポジトリの BookingNotification.java を使用します。
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
src ディレクトリにある Java プロジェクトにインポートします。
- 秘密鍵(JSON ファイル)を src ディレクトリにコピーします。
- Java クライアント ライブラリをプロジェクトの依存関係に追加する (mapsbooking ディレクトリと libs-sources ディレクトリにある jar ファイルを含めます)。
- 両方の Java ファイルで、TODO に沿って実装を完了します。
REST API の詳細は こちらをご覧ください。
トラブルシューティング:
-
既存の販売者 ID を使用して新しい販売者/サービスを作成する場合、または 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” }
- 無効な MerchantId または無効な販売者 ID で、交換の在庫状況の呼び出しを行う場合。 serviceId を使用している場合、この呼び出しではエラー メッセージはスローされません。その理由は、 RTU を介した予約枠に対する変更は、順不同実行と MerchantId や serviceId には関連付けられません。ただしスロットには リクエストに含まれるものは、無効なため、本番環境で MerchantId または serviceId を使用してリクエストできます。スロットを配信可能にするには、 RTU またはフィードを介して販売者またはサービスが提供されていない。
- すべての更新関数で、パラメータ「updateMask」は FieldMask 形式。更新するフィールドを指定します。API は マスクで指定されたフィールドの値のみを変更する必要がある 他はそのままにします間違った updateMask 文字列を渡した場合、 更新は有効になりません更新時にフィールド マスクが存在しない場合、 オペレーションはすべてのフィールドに適用されます(すべてのフィールドのフィールド マスクに 指定されています)。すべてのフィールドを更新する場合は、 updateMask が空です。
- 値が 0 のフィールドはレスポンスに表示されません。