您可以下载我们的 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 发出替换可用性调用时,调用不会抛出错误消息。这是因为通过 RTU 对可用性空档的更改支持无序执行,因此不与 merchantId 或 serviceId 相关联。但是,由于 merchantId 或 serviceId 无效,因此请求中的槽不会在生产环境中提供。如需使这些槽可供投放,请通过 RTU 或 Feed 添加缺少的商家或服务。
- 在所有更新函数中,参数“updateMask”必须采用 FieldMask 格式,以指定要更新的字段。需要使用该 API 仅更改掩码中指定的字段值,而其他字段保持不变。如果您传递了错误的 updateMask 字符串,更新将不会生效。如果更新时不存在字段掩码,则操作将应用于所有字段(就好像指定了所有字段的字段掩码一样)。因此,如果您要更新所有字段,只需将 updateMask 设置为空即可。
- 任何值为零的字段都不会显示在响应中。