Get a user

  • This webpage provides code samples in Java, PHP, and Python for retrieving a single user from a given Merchant Center account.

  • Each code sample demonstrates the process of creating a GetUserRequest with the user's name, which follows the format accounts/{account}/users/{email} .

  • The samples showcase the usage of the UserServiceClient to interact with the Merchant Center API and execute the getUser method.

  • The Java and Python samples use OAuth for authentication, while the PHP code uses a service account or token file, for authenticating API requests.

  • All samples include error handling to manage potential network failures or API exceptions, and the provided github link can be used to view the files directly.

Merchant API code sample to get a user.

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.users.v1 
 ; 
 import 
  
 com.google.api.gax.core.FixedCredentialsProvider 
 ; 
 import 
  
 com.google.auth.oauth2.GoogleCredentials 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.GetUserRequest 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.User 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.UserName 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.UserServiceClient 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.UserServiceSettings 
 ; 
 import 
  
 shopping.merchant.samples.utils.Authenticator 
 ; 
 import 
  
 shopping.merchant.samples.utils.Config 
 ; 
 /** This class demonstrates how to get a single user for a given Merchant Center account. */ 
 public 
  
 class 
 GetUserSample 
  
 { 
  
 public 
  
 static 
  
 void 
  
 getUser 
 ( 
 Config 
  
 config 
 , 
  
 String 
  
 email 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 // Obtains OAuth token based on the user's configuration. 
  
 GoogleCredentials 
  
 credential 
  
 = 
  
 new 
  
 Authenticator 
 (). 
 authenticate 
 (); 
  
 // Creates service settings using the credentials retrieved above. 
  
 UserServiceSettings 
  
 userServiceSettings 
  
 = 
  
 UserServiceSettings 
 . 
 newBuilder 
 () 
  
 . 
 setCredentialsProvider 
 ( 
 FixedCredentialsProvider 
 . 
 create 
 ( 
 credential 
 )) 
  
 . 
 build 
 (); 
  
 // Creates user name to identify user. 
  
 String 
  
 name 
  
 = 
  
 UserName 
 . 
 newBuilder 
 () 
  
 . 
 setAccount 
 ( 
 config 
 . 
 getAccountId 
 (). 
 toString 
 ()) 
  
 . 
 setEmail 
 ( 
 email 
 ) 
  
 . 
 build 
 () 
  
 . 
 toString 
 (); 
  
 // Calls the API and catches and prints any network failures/errors. 
  
 try 
  
 ( 
 UserServiceClient 
  
 userServiceClient 
  
 = 
  
 UserServiceClient 
 . 
 create 
 ( 
 userServiceSettings 
 )) 
  
 { 
  
 // The name has the format: accounts/{account}/users/{email} 
  
 GetUserRequest 
  
 request 
  
 = 
  
 GetUserRequest 
 . 
 newBuilder 
 (). 
 setName 
 ( 
 name 
 ). 
 build 
 (); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Sending Get user request:" 
 ); 
  
 User 
  
 response 
  
 = 
  
 userServiceClient 
 . 
 getUser 
 ( 
 request 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Retrieved User below" 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 response 
 ); 
  
 } 
  
 catch 
  
 ( 
 Exception 
  
 e 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 e 
 ); 
  
 } 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 Config 
  
 config 
  
 = 
  
 Config 
 . 
 load 
 (); 
  
 // The email address of this user. If you want to get the user information 
  
 // Of the user making the Content API request, you can also use "me" instead 
  
 // Of an email address. 
  
 String 
  
 email 
  
 = 
  
 "testUser@gmail.com" 
 ; 
  
 getUser 
 ( 
 config 
 , 
  
 email 
 ); 
  
 } 
 } 
  
 

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. 
 */ 
 /** 
 * Demonstrates how to get a single user for a given Merchant Center account. 
 */ 
 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\GetUserRequest; 
 use Google\Shopping\Merchant\Accounts\V1\Client\UserServiceClient; 
 /** 
 * Retrieves a user. 
 * 
 * @param array $config The configuration data. 
 * @param string $email The email address of the user. 
 * @return void 
 */ 
 function getUser($config, $email): 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. 
 $userServiceClient = new UserServiceClient($options); 
 // Creates user name to identify user. 
 $name = 'accounts/' . $config['accountId'] . "/users/" . $email; 
 // Calls the API and catches and prints any network failures/errors. 
 try { 
 $request = new GetUserRequest(['name' => $name]); 
 print "Sending Get user request:\n"; 
 $response = $userServiceClient->getUser($request); 
 print "Retrieved User below\n"; 
 print_r($response); 
 } catch (ApiException $e) { 
 print $e->getMessage(); 
 } 
 } 
 $config = Config::generateConfig(); 
 $email = "testUser@gmail.com"; 
 getUser($config, $email);  
 
 

Python

  # -*- coding: utf-8 -*- 
 # 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 
 # 
 #     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 a user.""" 
 from 
  
 examples.authentication 
  
 import 
 configuration 
 from 
  
 examples.authentication 
  
 import 
 generate_user_credentials 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 GetUserRequest 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 UserServiceClient 
 _ACCOUNT 
 = 
 configuration 
 . 
 Configuration 
 () 
 . 
 read_merchant_info 
 () 
 def 
  
 get_user 
 ( 
 user_email 
 ): 
  
 """Gets a single user for a given Merchant Center account.""" 
 # Get OAuth credentials 
 credentials 
 = 
 generate_user_credentials 
 . 
 main 
 () 
 # Create a UserServiceClient 
 client 
 = 
 UserServiceClient 
 ( 
 credentials 
 = 
 credentials 
 ) 
 # Create user name string 
 name 
 = 
 "accounts/" 
 + 
 _ACCOUNT 
 + 
 "/users/" 
 + 
 user_email 
 # Create the request 
 request 
 = 
 GetUserRequest 
 ( 
 name 
 = 
 name 
 ) 
 try 
 : 
 print 
 ( 
 "Sending Get user request:" 
 ) 
 response 
 = 
 client 
 . 
 get_user 
 ( 
 request 
 = 
 request 
 ) 
 print 
 ( 
 "Retrieved User below" 
 ) 
 print 
 ( 
 response 
 ) 
 except 
 RuntimeError 
 as 
 e 
 : 
 print 
 ( 
 e 
 ) 
 if 
 __name__ 
 == 
 "__main__" 
 : 
 # Modify this email to get the user details 
 email 
 = 
 "USER_MAIL_ACCOUNT" 
 get_user 
 ( 
 email 
 ) 
  
 
Design a Mobile Site
View Site in Mobile | Classic
Share by: