首页 > 解决方案 > 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);
}

标签: javascriptgoogle-apps-scriptgoogle-apigoogle-shopping-api

解决方案


在您的情况下,如何进行以下修改?

从:

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()方法。请注意这一点。

参考:


推荐阅读