在 Shopping Content API 中,批处理请求可以包含多个条目,每个条目可以是资源上定义的任何方法(插入、更新、删除或自定义)。
Merchant API 不提供自定义批处理方法。不过,您可以安排并行执行各个请求。
使用客户端库
如果使用客户端库,请考虑使用以下 Shopping Content API 代码。
ProductsCustomBatchResponse batchResponse =
content.products().custombatch(batchRequest).execute();
请按如下所示编写 Merchant API 等效代码。
List<ApiFuture<ProductInput>> futures;
for (InsertProductInputRequest request : requests) {
futures.add(productInputsServiceClient.insertProductInputCallable().futureCall(request));
}
List<ProductInput> responses;
for (ApiFuture<ProductInput> future : futures) {
responses.add(future.get());
}
不使用客户端库
如果不使用客户端库,请按照批量处理请求中所述的方式进行批处理。
例如,请考虑以下 Shopping Content API 帖子。
POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch
{
"entries": [
{
"method": "insert",
"product": { … }
} … ]
}
使用 Merchant API 时,代码会如下所示。
POST https://merchantapi.googleapis.com/batch
Content-Length: content_length
content-type: multipart/mixed; boundary="================="
--=================
Content-Type: application/http
Content-Transfer-Encoding: binary
POST v1beta/accounts/123/productInputs:insert
Content-Type: application/json
accept: application/json
{...}
--=================
…