Java Booking API 客户端

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