Page Summary
-
This code sample demonstrates how to update AutofeedSettings using the Merchant API in Java.
-
It uses the
AutofeedSettingsServiceClientto interact with the Merchant API and make the update request. -
The code creates an
AutofeedSettingsobject with updated fields, specifically focusing on enabling it. -
The code builds and sends an
UpdateAutofeedSettingsRequest, utilizing aFieldMaskto indicate all fields should be updated, then prints the name of the updated settings.
Merchant API code sample to update 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.protobuf.FieldMask
;
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.UpdateAutofeedSettingsRequest
;
import
shopping.merchant.samples.utils.Authenticator
;
import
shopping.merchant.samples.utils.Config
;
/** This class demonstrates how to update AutofeedSettings to be enabled. */
public
class
UpdateAutofeedSettingsSample
{
public
static
void
updateAutofeedSettings
(
Config
config
)
throws
Exception
{
GoogleCredentials
credential
=
new
Authenticator
().
authenticate
();
AutofeedSettingsServiceSettings
autofeedSettingsServiceSettings
=
AutofeedSettingsServiceSettings
.
newBuilder
()
.
setCredentialsProvider
(
FixedCredentialsProvider
.
create
(
credential
))
.
build
();
// Creates AutofeedSettings name to identify AutofeedSettings.
String
name
=
AutofeedSettingsName
.
newBuilder
()
.
setAccount
(
config
.
getAccountId
().
toString
())
.
build
()
.
toString
();
// Create AutofeedSettings with the updated fields.
AutofeedSettings
autofeedSettings
=
AutofeedSettings
.
newBuilder
().
setName
(
name
).
build
();
FieldMask
fieldMask
=
FieldMask
.
newBuilder
().
addPaths
(
"*"
).
build
();
try
(
AutofeedSettingsServiceClient
autofeedSettingsServiceClient
=
AutofeedSettingsServiceClient
.
create
(
autofeedSettingsServiceSettings
))
{
UpdateAutofeedSettingsRequest
request
=
UpdateAutofeedSettingsRequest
.
newBuilder
()
.
setAutofeedSettings
(
autofeedSettings
)
.
setUpdateMask
(
fieldMask
)
.
build
();
System
.
out
.
println
(
"Sending Update AutofeedSettings request"
);
AutofeedSettings
response
=
autofeedSettingsServiceClient
.
updateAutofeedSettings
(
request
);
System
.
out
.
println
(
"Updated AutofeedSettings Name below"
);
System
.
out
.
println
(
response
.
getName
());
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
);
}
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Config
config
=
Config
.
load
();
updateAutofeedSettings
(
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\Protobuf\FieldMask;
use Google\Shopping\Merchant\Accounts\V1\AutofeedSettings;
use Google\Shopping\Merchant\Accounts\V1\Client\AutofeedSettingsServiceClient;
use Google\Shopping\Merchant\Accounts\V1\UpdateAutofeedSettingsRequest;
/**
* This class demonstrates how to update AutofeedSettings to be enabled.
*/
class UpdateAutofeedSettingsSample
{
/**
* Update AutofeedSettings to be enabled.
*
* @param array $config The configuration data for authentication and account ID.
* @return void
*/
public static function updateAutofeedSettingsSample(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";
// Create AutofeedSettings object.
$autofeedSettings = (new AutofeedSettings())
->setName($name);
// Create FieldMask.
$fieldMask = (new FieldMask())
->setPaths(["*"]);
// Call the API.
try {
// Prepare the request.
$request = (new UpdateAutofeedSettingsRequest())
->setAutofeedSettings($autofeedSettings)
->setUpdateMask($fieldMask);
print "Sending Update AutofeedSettings request\n";
$response = $autofeedSettingsServiceClient->updateAutofeedSettings($request);
print "Updated AutofeedSettings Name below\n";
print $response->getName() . "\n";
} catch (ApiException $e) {
print $e->getMessage();
}
}
/**
* Helper to execute the sample.
*
* @return void
*/
public function callSample(): void
{
$config = Config::generateConfig();
self::updateAutofeedSettingsSample($config);
}
}
// Run the script
$sample = new UpdateAutofeedSettingsSample();
$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 update AutofeedSettings."""
from
examples.authentication
import
configuration
from
examples.authentication
import
generate_user_credentials
from
google.protobuf
import
field_mask_pb2
from
google.shopping.merchant_accounts_v1
import
AutofeedSettings
from
google.shopping.merchant_accounts_v1
import
AutofeedSettingsServiceClient
from
google.shopping.merchant_accounts_v1
import
UpdateAutofeedSettingsRequest
_ACCOUNT
=
configuration
.
Configuration
()
.
read_merchant_info
()
def
update_autofeed_settings
():
"""Updates 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"
# Create AutofeedSettings with the updated fields.
autofeed_settings
=
AutofeedSettings
(
name
=
name
,
enable_products
=
False
)
# Create the field mask.
field_mask
=
field_mask_pb2
.
FieldMask
(
paths
=
[
"enable_products"
])
# Creates the request.
request
=
UpdateAutofeedSettingsRequest
(
autofeed_settings
=
autofeed_settings
,
update_mask
=
field_mask
)
# Makes the request and catches and prints any error messages.
try
:
response
=
client
.
update_autofeed_settings
(
request
=
request
)
print
(
"Updated AutofeedSettings Name below"
)
print
(
response
.
name
)
except
RuntimeError
as
e
:
print
(
"Update AutofeedSettings request failed"
)
print
(
e
)
if
__name__
==
"__main__"
:
update_autofeed_settings
()

