您可以下載我們的 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,請參閱這篇文章。
疑難排解:
-
嘗試使用現有的 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” }
- 當您使用無效的 merchantId 或 serviceId 發出 replace availability 呼叫時,呼叫「不會」擲回錯誤訊息。這是因為透過 RTU 變更可用時間範圍時,系統會支援非順序執行,因此不會與 merchantId 或 serviceId 相關聯。不過,由於 merchantId 或 serviceId 無效,因此要求中的時段不會在實際環境中放送。如要讓時段可供服務,請透過 RTU 或動態饋給新增缺少的商家或服務。
- 在所有更新函式中,參數「updateMask」必須採用 FieldMask 格式,才能指定要更新的欄位。API 必須只變更遮罩中指定的欄位值,並保留其他欄位不變。如果您傳遞的 updateMask 字串有誤,更新作業就不會生效。如果更新作業中沒有欄位遮罩,則作業會套用至所有欄位 (就像已指定所有欄位的欄位遮罩一樣)。因此,如果您想更新所有欄位,只要將 updateMask 設為空白即可。
- 回應中不會顯示任何值為零的欄位。