Google Content Api for Shopping - 只列出想要的产品功能 来自:致:注意:注意:参考:

问题描述

我正在使用下面的脚本 (https://developers.google.com/apps-script/advanced/shopping-content) 我想知道,而不是所有资源,例如,我如何只列出产品价格?

/**
 * Lists the products for a given merchant.
 */
function productList() {
  var merchantId = 123456; // Replace this with your Merchant Center ID.
  var pagetoken;
  var pageNum = 1;
  var maxResults = 10;
  do {
    var products = ShoppingContent.Products.list(merchantId,{
      pagetoken: pagetoken,maxResults: maxResults
    });
    Logger.log('Page ' + pageNum);
    if (products.resources) {
      for (var i = 0; i < products.resources.length; i++) {
        Logger.log('Item [' + i + '] ==> ' + products.resources[i]);
      }
    } else {
      Logger.log('No more products in account ' + merchantId);
    }
    pagetoken = products.nextPagetoken;
    pageNum++;
  } while (pagetoken);
}

解决方法

在你的情况下,下面的修改如何?

来自:

Logger.log('Item [' + i + '] ==> ' + products.resources[i]);

致:

Logger.log('Item [' + i + '] (product price) ==> ' + products.resources[i].price.value); // or products.resources[i].price.currency

注意:

  • 如果要以数组的形式检索数据,下面的修改如何?

      function productList() {
        var merchantId = 123456; // Replace this with your Merchant Center ID.
        var pageToken;
        var pageNum = 1;
        var maxResults = 10;
        var res = []; // Added
        do {
          var products = ShoppingContent.Products.list(merchantId,{
            pageToken: pageToken,maxResults: maxResults
          });
          Logger.log('Page ' + pageNum);
          if (products.resources) {
            for (var i = 0; i < products.resources.length; i++) {
              res.push({id: products.resources[i].id,title: products.resources[i].title,price: products.resources[i].price.value}); // Added
              Logger.log('Item [' + i + '] (product price) ==> ' + products.resources[i].price.value); // or products.resources[i].price.currency
            }
          } else {
            Logger.log('No more products in account ' + merchantId);
          }
          pageToken = products.nextPageToken;
          pageNum++;
        } while (pageToken);
        Logger.log(res); // Added
      }
    

注意:

  • 在这个答案中,假设您已经能够使用 ShoppingContent.Products.list() 方法。请注意这一点。

参考: