发出请求

本指南假定您已完成 开始使用指南,并完成 发出经过授权的请求。

完成所有设置后,您可以向 Google Content API for Shopping 发送请求。以下代码 示例演示了如何发送一些简单的请求:

  • 创建商品。
  • 获取商品列表。
  • 从列表中检索特定商品。
  • 更新商品的价格。

有关方法的完整列表,请参阅 参考文档

如需了解详情,请参阅最佳实践页面。 介绍了如何充分利用 API。 本页面还介绍了推荐使用批量请求的原因。

如果您在使用 Content API 时遇到问题,请查看 Merchant Center 状态信息中心了解服务中断情况, 支持页面。

创建产品

您可以在 商品数据文件规范。 要创建产品 ,请使用以下代码:

POST /content/v2.1/YOUR_MERCHANT_ID/products

{
 
"offerId": "book123",
 
"title": "A Tale of Two Cities",
 
"description": "A classic novel about the French Revolution",
 
"link": "http://my-book-shop.com/tale-of-two-cities.html",
 
"imageLink": "http://my-book-shop.com/tale-of-two-cities.jpg",
 
"contentLanguage": "en",
 
"targetCountry": "GB",
 
"feedLabel": "GB",
 
"channel": "online",
 
"availability": "in stock",
 
"condition": "new",
 
"googleProductCategory": "Media > Books",
 
"gtin": "9780007350896",
 
"price": {
   
"value": "2.50",
   
"currency": "GBP"
 
},
 
"shipping": [{
   
"country": "GB",
   
"service": "Standard shipping",
   
"price": {
     
"value": "0.99",
     
"currency": "GBP"
   
}
 
}],
 
"shippingWeight": {
   
"value": "200",
   
"unit": "grams"
 
}
}
Product product = new Product();

product
.setOfferId("book123");
product
.setTitle("A Tale of Two Cities");
product
.setDescription("A classic novel about the French Revolution");
product
.setLink("http://my-book-shop.com/tale-of-two-cities.html");
product
.setImageLink("http://my-book-shop.com/tale-of-two-cities.jpg");
product
.setContentLanguage("en");
product
.setTargetCountry("GB");
product
.setChannel("online");
product
.setAvailability("in stock");
product
.setCondition("new");
product
.setGoogleProductCategory("Media > Books");
product
.setGtin("9780007350896");

Price price = new Price();
price
.setValue("2.50");
price
.setCurrency("GBP");
product
.setPrice(price);

Price shippingPrice = new Price();
shippingPrice
.setValue("0.99");
shippingPrice
.setCurrency("GBP");

ProductShipping shipping = new ProductShipping();
shipping
.setPrice(shippingPrice);
shipping
.setCountry("GB");
shipping
.setService("Standard shipping");

ArrayList
$product = new Google_Service_ShoppingContent_Product();
$product
->setOfferId('book123');
$product
->setTitle('A Tale of Two Cities');
$product
->setDescription('A classic novel about the French Revolution');
$product
->setLink('http://my-book-shop.com/tale-of-two-cities.html');
$product
->setImageLink('http://my-book-shop.com/tale-of-two-cities.jpg');
$product
->setContentLanguage('en');
$product
->setTargetCountry('GB');
$product
->setChannel('online');
$product
->setAvailability('in stock');
$product
->setCondition('new');
$product
->setGoogleProductCategory('Media > Books');
$product
->setGtin('9780007350896');

$price
= new Google_Service_ShoppingContent_Price();
$price
->setValue('2.50');
$price
->setCurrency('GBP');

$shipping_price
= new Google_Service_ShoppingContent_Price();
$shipping_price
->setValue('0.99');
$shipping_price
->setCurrency('GBP');

$shipping
= new Google_Service_ShoppingContent_ProductShipping();
$shipping
->setPrice($shipping_price);
$shipping
->setCountry('GB');
$shipping
->setService('Standard shipping');

$shipping_weight
= new Google_Service_ShoppingContent_ProductShippingWeight();
$shipping_weight
->setValue(200);
$shipping_weight
->setUnit('grams');

$product
->setPrice($price);
$product
->setShipping(array($shipping));
$product
->setShippingWeight($shipping_weight);

$result
= $service->products->insert($merchant_id, $product);

获取商品列表

获取 使用以下代码

协议

GET /content/v2.1/YOUR_MERCHANT_ID/products

Java

List productsList = service.products().list(merchantId);

ProductsListResponse page = productsList.execute();
while ((page.getResources() != null) && !page.getResources().isEmpty()) {
 
for (Product product : page.getResources()) {
   
System.out.printf("%s %s%n", product.getId(), product.getTitle());
 
}

 
if (page.getNextPageToken() == null) {
   
break;
 
}

  productsList
.setPageToken(page.getNextPageToken());
  page
= productsList.execute();
}

PHP

$products = $service->products->listProducts($merchantId);
$parameters
= array();
while (!empty($products->getResources()) {
 
foreach ($products->getResources() as $product) {
    printf
("%s %s\n", $product->getId(), $product->getTitle());
 
}
 
if (!empty($products->getNextPageToken()) {
   
break;
 
}
  $parameters
['pageToken'] = $products->nextPageToken;
  $products
= $service->products->listProducts($merchantId, $parameters);
}

检索特定商品

检索特定的 列表中的产品”,请使用以下代码:

协议

GET /content/v2.1/YOUR_MERCHANT_ID/products/online:en:GB:book123

Java

Product product = service.products()
   
.get(merchantId, "online:en:GB:book123")
   
.execute();
System.out.printf("%s %s\n", product.getId(), product.getTitle());

PHP

$product = $service->products->get($merchant_id, 'online:en:GB:book123');
printf
("%s %s\n", $product->getId(), $product->getTitle());

更新在线商品库存状况

您可以使用 补充 Feed,以便使用以下代码更新在线商品数据 代码:

协议

POST /content/v2.1/YOUR_MERCHANT_ID/products?YOUR_SUPPLEMENTAL_FEED_ID

{
 
"offerId": "book123",
 
"contentLanguage": "en",
 
"targetCountry": "GB",
 
"feedLabel": "GB",
 
"channel": "online",
 
"availability": "out of stock"
}

Java

Product product = new Product();
// Mandatory Fields
product
.setOfferId("book123");
product
.setContentLanguage("en");
product
.setTargetCountry("GB");
product
.setChannel("online");

// Optional Fields to Update
product
.setAvailability("out of stock");

// Your unique supplemental feedId
feedId
=123456789

Product result = service.products().insert(merchantId, product, feedId).execute();

PHP

$product = new Google_Service_ShoppingContent_Product();
// Mandatory Fields
$product
->setOfferId('book123');
$product
->setContentLanguage('en');
$product
->setTargetCountry('GB');
$product
->setChannel('online');

// Optional Fields to Update
$product
->setAvailability('out of stock');

// Your unique supplemental feedId
$feedId
=123456789

$result
= $service->products->insert($merchant_id, $product, $feedId);

更新本地商品库存状况

您可以使用 Local Inventory Service,以使用以下代码更新本地商品数据:

协议

POST /content/v2.1/YOUR_MERCHANT_ID/localinventory/online/products/online:en:GB:book123

{
 
"availability": "out of stock"
}

Java

Product product = new Product();
// Mandatory Fields
product
.setOfferId("book123");
product
.setContentLanguage("en");
product
.setTargetCountry("GB");
product
.setChannel("online");

// Optional Fields to Update
product
.setAvailability("out of stock");

Product result = service.localinventory().insert(merchantId, product).execute();

PHP

$product = new Google_Service_ShoppingContent_Product();
// Mandatory Fields
$product
->setOfferId('book123');
$product
->setContentLanguage('en');
$product
->setTargetCountry('GB');
$product
->setChannel('online');

// Optional Fields to Update
$product
->setAvailability('out of stock');

$result
= $service->localinventory->insert($merchant_id, $product);