Page Summary
-
This page provides code samples in Java, PHP, and Python demonstrating how to retrieve a single Merchant Center account.
-
Each code example utilizes OAuth credentials to authenticate and make requests to the Merchant Center Accounts API.
-
The code samples show how to construct an
AccountNameobject or equivalent, necessary for identifying the account, using the account ID. -
All the examples demonstrate the use of
GetAccountRequestto send the proper request to theAccountsServiceClientand then print the retrieved account information, or any error messages. -
Each example uses the
AccountsServiceClientto retrieve a specific account from a Merchant account, sending a request and then getting a response to print out.
Merchant API code sample to get a account.
Go
// 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.
// Package v1 provides examples for retrieving account information using the Merchant API.
package
v1
import
(
"context"
"fmt"
"log"
"cloud.google.com/go/shopping/merchant/accounts/apiv1/accountspb"
accounts
"cloud.google.com/go/shopping/merchant/accounts/apiv1"
"google.golang.org/api/option"
"github.com/google/merchant-api-samples/go/collection"
"github.com/google/merchant-api-samples/go/examples/googleauth"
)
// The resource name of the account to retrieve.
// Replace "1234567890" with your account ID.
const
name
=
"accounts/1234567890"
type
getAccount
struct
{}
func
init
()
{
// Use the new Add function from the collection package
if
err
:=
collection
.
Add
(
"accounts.accounts.v1.get_account"
,
& getAccount
{});
err
!=
nil
{
log
.
Fatalf
(
"could not add example: %v"
,
err
)
}
}
func
(
s
*
getAccount
)
Description
()
string
{
return
"Sample retrieves specific account by Merchant ID."
}
func
(
s
*
getAccount
)
Execute
()
error
{
ctx
:=
context
.
Background
()
tokenSource
,
err
:=
googleauth
.
AuthWithGoogle
(
ctx
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"Failed to authenticate: %w"
,
err
)
}
// Create a new Merchant API service using the service account credentials.
accountsService
,
err
:=
accounts
.
NewClient
(
ctx
,
option
.
WithTokenSource
(
tokenSource
))
if
err
!=
nil
{
return
fmt
.
Errorf
(
"Unable to create Merchant API service with credentials file: %w"
,
err
)
}
req
:=
& accountspb
.
GetAccountRequest
{
Name
:
name
,
}
// Call the Get method of the Accounts service.
account
,
err
:=
accountsService
.
GetAccount
(
ctx
,
req
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"Unable to retrieve account: %w"
,
err
)
}
// Print the account information.
fmt
.
Printf
(
"Successfully retrieved account: %+v\n"
,
account
)
return
nil
}
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.accounts.v1
;
import
com.google.api.gax.core.FixedCredentialsProvider
;
import
com.google.auth.oauth2.GoogleCredentials
;
import
com.google.shopping.merchant.accounts.v1.Account
;
import
com.google.shopping.merchant.accounts.v1.AccountName
;
import
com.google.shopping.merchant.accounts.v1.AccountsServiceClient
;
import
com.google.shopping.merchant.accounts.v1.AccountsServiceSettings
;
import
com.google.shopping.merchant.accounts.v1.GetAccountRequest
;
import
shopping.merchant.samples.utils.Authenticator
;
import
shopping.merchant.samples.utils.Config
;
/** This class demonstrates how to get a single Merchant Center account. */
public
class
GetAccountSample
{
public
static
void
getAccount
(
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.
AccountsServiceSettings
accountsServiceSettings
=
AccountsServiceSettings
.
newBuilder
()
.
setCredentialsProvider
(
FixedCredentialsProvider
.
create
(
credential
))
.
build
();
// Gets the account ID from the config file.
String
accountId
=
config
.
getAccountId
().
toString
();
// Creates account name to identify account.
String
name
=
AccountName
.
newBuilder
().
setAccount
(
accountId
).
build
().
toString
();
// Calls the API and catches and prints any network failures/errors.
try
(
AccountsServiceClient
accountsServiceClient
=
AccountsServiceClient
.
create
(
accountsServiceSettings
))
{
// The name has the format: accounts/{account}
GetAccountRequest
request
=
GetAccountRequest
.
newBuilder
().
setName
(
name
).
build
();
System
.
out
.
println
(
"Sending Get Account request:"
);
Account
response
=
accountsServiceClient
.
getAccount
(
request
);
System
.
out
.
println
(
"Retrieved Account below"
);
System
.
out
.
println
(
response
);
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
);
}
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Config
config
=
Config
.
load
();
getAccount
(
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\AccountsServiceClient;
use Google\Shopping\Merchant\Accounts\V1\GetAccountRequest;
/**
* This class demonstrates how to get a single Merchant Center account.
*/
class GetAccount
{
private static function getParent(string $accountId): string
{
return sprintf("accounts/%s", $accountId);
}
public static function getAccount(array $config): void
{
// Gets the OAuth credentials to make the request.
$credentials = Authentication::useServiceAccountOrTokenFile();
// Creates options config containing credentials for the client to use.
$options = ['credentials' => $credentials];
// Creates a client.
$accountsServiceClient = new AccountsServiceClient($options);
// Gets the account ID from the config file.
$accountId = $config['accountId'];
// Creates account name to identify account.
$name = self::getParent($accountId);
// Calls the API and catches and prints any network failures/errors.
try {
// The name has the format: accounts/{account}
$request = new GetAccountRequest(['name' => $name]);
print "Sending Get Account request:\n";
$response = $accountsServiceClient->getAccount($request);
print "Retrieved Account below\n";
print_r($response);
} catch (ApiException $e) {
print $e->getMessage();
}
}
public function callSample(): void
{
$config = Config::generateConfig();
self::getAccount($config);
}
}
$sample = new GetAccount();
$sample->callSample();

