Get autofeed settings

  • This code sample demonstrates how to retrieve the autofeed settings for a specific Merchant Center account using the Merchant API in Java.

  • It utilizes the AutofeedSettingsServiceClient to send a GetAutofeedSettingsRequest to the API, specifying the account's autofeed settings name.

  • The sample uses Google OAuth 2.0 credentials for authentication and constructs the service client with these credentials.

  • The response from the API contains the autofeed settings associated with the given account, which are then printed to the console.

Merchant API code sample to get the autofeed settings.

Java

// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package shopping.merchant.samples.accounts.autofeedsettings.v1;
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.AutofeedSettings;
import com.google.shopping.merchant.accounts.v1.AutofeedSettingsName;
import com.google.shopping.merchant.accounts.v1.AutofeedSettingsServiceClient;
import com.google.shopping.merchant.accounts.v1.AutofeedSettingsServiceSettings;
import com.google.shopping.merchant.accounts.v1.GetAutofeedSettingsRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/** This class demonstrates how to get the autofeed settings of a Merchant Center account. */
public class GetAutofeedSettingsSample {

  public static void getAutofeedSettings(Config config) throws Exception {

    // Obtains OAuth token based on the user's configuration.
    GoogleCredentials credential = new Authenticator().authenticate();

    // Creates service settings using the credentials retrieved above.
    AutofeedSettingsServiceSettings autofeedSettingsServiceSettings =
        AutofeedSettingsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates AutofeedSettings name to identify the AutofeedSettings.
    String name =
        AutofeedSettingsName.newBuilder()
            .setAccount(config.getAccountId().toString())
            .build()
            .toString();

    // Calls the API and catches and prints any network failures/errors.
    try (AutofeedSettingsServiceClient autofeedSettingsServiceClient =
        AutofeedSettingsServiceClient.create(autofeedSettingsServiceSettings)) {

      // The name has the format: accounts/{account}/autofeedSettings
      GetAutofeedSettingsRequest request =
          GetAutofeedSettingsRequest.newBuilder().setName(name).build();

      System.out.println("Sending get AutofeedSettings request:");
      AutofeedSettings response = autofeedSettingsServiceClient.getAutofeedSettings(request);

      System.out.println("Retrieved AutofeedSettings below");
      System.out.println(response);
    } catch (Exception e) {
      System.out.println(e);
    }
  }

  public static void main(String[] args) throws Exception {
    Config config = Config.load();

    getAutofeedSettings(config);
  }
}

PHP

<?php
/**
 * Copyright 2025 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
require_once __DIR__ . '/../../../../vendor/autoload.php';
require_once __DIR__ . '/../../../Authentication/Authentication.php';
require_once __DIR__ . '/../../../Authentication/Config.php';
use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\Client\AutofeedSettingsServiceClient;
use Google\Shopping\Merchant\Accounts\V1\GetAutofeedSettingsRequest;

/**
 * This class demonstrates how to get the autofeed settings of a Merchant Center account.
 */
class GetAutofeedSettingsSample
{
    /**
     * Get the autofeed settings of a Merchant Center account.
     *
     * @param array $config The configuration data for authentication and account ID.
     * @return void
     */
    public static function getAutofeedSettingsSample(array $config): void
    {
        // Get OAuth credentials.
        $credentials = Authentication::useServiceAccountOrTokenFile();

        // Create options for the client.
        $options = ['credentials' => $credentials];

        // Create a client.
        $autofeedSettingsServiceClient = new AutofeedSettingsServiceClient($options);

        // Create the AutofeedSettings name.
        $name = "accounts/" . $config['accountId'] . "/autofeedSettings";

        // Call the API.
        try {
            // Prepare the request.
            $request = (new GetAutofeedSettingsRequest())
                ->setName($name);

            print "Sending get AutofeedSettings request:\n";
            $response = $autofeedSettingsServiceClient->getAutofeedSettings($request);

            print "Retrieved AutofeedSettings below\n";
            print_r($response);
        } catch (ApiException $e) {
            print $e->getMessage();
        }
    }

    /**
     * Helper to execute the sample.
     *
     * @return void
     */
    public function callSample(): void
    {
        $config = Config::generateConfig();
        self::getAutofeedSettingsSample($config);
    }
}


// Run the script
$sample = new GetAutofeedSettingsSample();
$sample->callSample();

Python

# -*- coding: utf-8 -*-
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""A module to get AutofeedSettings."""

from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import AutofeedSettingsServiceClient
from google.shopping.merchant_accounts_v1 import GetAutofeedSettingsRequest

_ACCOUNT = configuration.Configuration().read_merchant_info()


def get_autofeed_settings():
  """Gets the AutofeedSettings of a Merchant Center account."""

  # Gets OAuth Credentials.
  credentials = generate_user_credentials.main()

  # Creates a client.
  client = AutofeedSettingsServiceClient(credentials=credentials)

  # Creates name to identify the AutofeedSettings.
  name = "accounts/" + _ACCOUNT + "/autofeedSettings"

  # Creates the request.
  request = GetAutofeedSettingsRequest(name=name)

  # Makes the request and catches and prints any error messages.
  try:
    response = client.get_autofeed_settings(request=request)
    print("Retrieved AutofeedSettings below")
    print(response)
  except RuntimeError as e:
    print("Get AutofeedSettings request failed")
    print(e)


if __name__ == "__main__":
  get_autofeed_settings()