Java REST

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