Usługa dotycząca treści w Zakupach Google

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Usługa Content API umożliwia korzystanie z interfejsu Google Content API for Shopping w Apps Script. Ten interfejs pozwala użytkownikom Google Merchant Center przesyłać produkty i zarządzać nimi, a także zarządzać kontami Merchant Center.

Szczegółowe informacje o tej usłudze znajdziesz w dokumentacji referencyjnej dotyczącej Google Content API for Shopping. Podobnie jak wszystkie zaawansowane usługi Apps Script, usługa Content Shopping korzysta z tych samych obiektów, metod i parametrów co publiczny interfejs API.

Źródła

Szczegółowe informacje o tej usłudze znajdziesz w dokumentacji dotyczącej interfejsu Google Content API for Shopping API. Podobnie jak wszystkie usługi zaawansowane w Apps Script, zaawansowana usługa Arkusze używa tych samych obiektów, metod i parametrów co publiczny interfejs API. Więcej informacji znajdziesz w temacie Jak powstają podpisy metod.

Aby zgłosić problemy i znaleźć inną pomoc, zapoznaj się z przewodnikiem pomocy Google Content API for Shopping.

Przykładowy kod

Poniżej pokazujemy, jak korzystać z kilku funkcji usługi treści w Zakupach Google.

Wstaw produkt

Ten przykład pokazuje, jak wstawić jeden produkt na dane konto Merchant Center.

Advanced/shoppingContent.gs
/**
 * Inserts a product into the products list. Logs the API response.
 */
function productInsert() {
  const merchantId = 123456; // Replace this with your Merchant Center ID.
  // Create a product resource and insert it
  const productResource = {
    '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': 'US',
    'channel': 'online',
    'availability': 'in stock',
    'condition': 'new',
    'googleProductCategory': 'Media > Books',
    'productType': 'Media > Books',
    'gtin': '9780007350896',
    'price': {
      'value': '2.50',
      'currency': 'USD'
    },
    'shipping': [{
      'country': 'US',
      'service': 'Standard shipping',
      'price': {
        'value': '0.99',
        'currency': 'USD'
      }
    }],
    'shippingWeight': {
      'value': '2',
      'unit': 'pounds'
    }
  };

  try {
    response = ShoppingContent.Products.insert(productResource, merchantId);
    // RESTful insert returns the JSON object as a response.
    Logger.log(response);
  } catch (e) {
    // TODO (Developer) - Handle exceptions
    Logger.log('Failed with error: $s', e.error);
  }
}

Wyświetlenie listy produktów

Ten przykład pokazuje, jak wymienić produkty w przypadku danego konta Merchant Center.

Advanced/shoppingContent.gs
/**
 * Lists the products for a given merchant.
 */
function productList() {
  const merchantId = 123456; // Replace this with your Merchant Center ID.
  let pageToken;
  let pageNum = 1;
  const maxResults = 10;
  try {
    do {
      const products = ShoppingContent.Products.list(merchantId, {
        pageToken: pageToken,
        maxResults: maxResults
      });
      Logger.log('Page ' + pageNum);
      if (products.resources) {
        for (let 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);
  } catch (e) {
    // TODO (Developer) - Handle exceptions
    Logger.log('Failed with error: $s', e.error);
  }
}

Wstaw zbiorczo produkty

Ten przykład wykorzystuje Products.custombatch, aby wstawić 3 produkty jednocześnie.

Advanced/shoppingContent.gs
/**
 * Batch updates products. Logs the response.
 * @param  {object} productResource1 The first product resource.
 * @param  {object} productResource2 The second product resource.
 * @param  {object} productResource3 The third product resource.
 */
function custombatch(productResource1, productResource2, productResource3) {
  const merchantId = 123456; // Replace this with your Merchant Center ID.
  custombatchResource = {
    'entries': [
      {
        'batchId': 1,
        'merchantId': merchantId,
        'method': 'insert',
        'productId': 'book124',
        'product': productResource1
      },
      {
        'batchId': 2,
        'merchantId': merchantId,
        'method': 'insert',
        'productId': 'book125',
        'product': productResource2
      },
      {
        'batchId': 3,
        'merchantId': merchantId,
        'method': 'insert',
        'productId': 'book126',
        'product': productResource3
      }
    ]
  };
  try {
    const response = ShoppingContent.Products.custombatch(custombatchResource);
    Logger.log(response);
  } catch (e) {
    // TODO (Developer) - Handle exceptions
    Logger.log('Failed with error: $s', e.error);
  }
}

Aktualizowanie podatków na poziomie konta

Ten przykładowy kod korzysta z Accounttax do aktualizowania danych podatnika na poziomie konta w Merchant Center. Więcej informacji o podatkach i dostawie na poziomie konta znajdziesz w przewodniku po interfejsach API.

Advanced/shoppingContent.gs
/**
 * Updates content account tax information.
 * Logs the API response.
 */
function updateAccountTax() {
  // Replace this with your Merchant Center ID.
  const merchantId = 123456;

  // Replace this with the account that you are updating taxes for.
  const accountId = 123456;

  try {
    const accounttax = ShoppingContent.Accounttax.get(merchantId, accountId);
    Logger.log(accounttax);

    const taxInfo = {
      accountId: accountId,
      rules: [
        {
          'useGlobalRate': true,
          'locationId': 21135,
          'shippingTaxed': true,
          'country': 'US'
        },
        {
          'ratePercent': 3,
          'locationId': 21136,
          'country': 'US'
        },
        {
          'ratePercent': 2,
          'locationId': 21160,
          'shippingTaxed': true,
          'country': 'US'
        }
      ]
    };

    Logger.log(ShoppingContent.Accounttax
        .update(taxInfo, merchantId, accountId));
  } catch (e) {
    // TODO (Developer) - Handle exceptions
    Logger.log('Failed with error: $s', e.error);
  }
}