You can use the following methods to view the existing users
under a given Client
.
View individual user
You can use the buyers.clients.users.get
method to get information about an existing ClientUser
.
The following sample demonstrates how you can retrieve an individual ClientUser
with the get
method.
REST
Request
GET https://authorizedbuyersmarketplace.googleapis.com/v1/buyers/12345678/clients/873721984/users/4573638?alt=json Authorization: Bearer ACCESS_TOKEN Content-Type: application/json
Response
{ "name": "buyers/12345678/clients/873721984/users/4573638", "state": "INVITED", "email": "testemail87339346@test.com" }
C#
/* Copyright 2022 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. */ using Google.Apis.AuthorizedBuyersMarketplace.v1 ; using Google.Apis.AuthorizedBuyersMarketplace.v1.Data ; using Mono.Options ; using System ; using System.Collections.Generic ; namespace Google.Apis.AuthorizedBuyersMarketplace.Examples.v1.Buyers.Clients.Users { /// <summary> /// Gets a single client user for the given buyer, client, and user IDs. /// </summary> public class GetClientUsers : ExampleBase { private AuthorizedBuyersMarketplaceService mkService ; /// <summary> /// Constructor. /// </summary> public GetClientUsers () { mkService = Utilities . GetAuthorizedBuyersMarketplaceService (); } /// <summary> /// Returns a description about the code example. /// </summary> public override string Description { get = > "This code example gets a specific user for a given client." ; } /// <summary> /// Parse specified arguments. /// </summary> protected override Dictionary<string , object > ParseArguments ( List<string> exampleArgs ) { string [] requiredOptions = new string [] { "account_id" , "client_id" , "user_id" }; bool showHelp = false ; string accountId = null ; string clientId = null ; string userId = null ; OptionSet options = new OptionSet { "Get a client user for a given buyer, client, and user ID." , { "h|help" , "Show help message and exit." , h = > showHelp = h != null }, { "a|account_id=" , ( "[Required] The resource ID of the buyers resource under which the parent " + "client was created. This will be used to construct the name used as a " + "path parameter for the users.get request." ), a = > accountId = a }, { "c|client_id=" , ( "[Required] The resource ID of the buyers.clients resource under which the " + "user was created. This will be used to construct the name used as a path " + "parameter for the users.get request." ), c = > clientId = c }, { "u|user_id=" , ( "[Required] The resource ID of the buyers.clients.users resource for which " + "the user was created. This will be used to construct the name used as a " + "path parameter for the users.get request." ), u = > userId = u }, }; List<string> extras = options . Parse ( exampleArgs ); var parsedArgs = new Dictionary<string , object > (); // Show help message. if ( showHelp == true ) { options . WriteOptionDescriptions ( Console . Out ); Environment . Exit ( 0 ); } // Set optional arguments. parsedArgs [ "account_id" ] = accountId ; parsedArgs [ "client_id" ] = clientId ; parsedArgs [ "user_id" ] = userId ; // Validate that options were set correctly. Utilities . ValidateOptions ( options , parsedArgs , requiredOptions , extras ); return parsedArgs ; } /// <summary> /// Run the example. /// </summary> /// <param name="parsedArgs">Parsed arguments for the example.</param> protected override void Run ( Dictionary<string , object > parsedArgs ) { string accountId = ( string ) parsedArgs [ "account_id" ]; string clientId = ( string ) parsedArgs [ "client_id" ]; string userId = ( string ) parsedArgs [ "user_id" ]; string name = $"buyers/{accountId}/clients/{clientId}/users/{userId}" ; BuyersResource . ClientsResource . UsersResource . GetRequest request = mkService . Buyers . Clients . Users . Get ( name ); ClientUser response = null ; Console . WriteLine ( "Getting client user with name: {0}" , name ); try { response = request . Execute (); } catch ( Exception exception ) { throw new ApplicationException ( $"Marketplace API returned error response:\n{exception.Message}" ); } Utilities . PrintClientUser ( response ); } } }
Java
/* * Copyright 2022 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 com.google.api.services.samples.authorizedbuyers.marketplace.v1.buyers.clients.users ; import com.google.api.services.authorizedbuyersmarketplace.v1.AuthorizedBuyersMarketplace ; import com.google.api.services.authorizedbuyersmarketplace.v1.model.ClientUser ; import com.google.api.services.samples.authorizedbuyers.marketplace.Utils ; import java.io.IOException ; import java.security.GeneralSecurityException ; import net.sourceforge.argparse4j.ArgumentParsers ; import net.sourceforge.argparse4j.inf.ArgumentParser ; import net.sourceforge.argparse4j.inf.ArgumentParserException ; import net.sourceforge.argparse4j.inf.Namespace ; /** This sample illustrates how to get a client user for the given buyer, client, and user IDs. */ public class GetClientUsers { public static void execute ( AuthorizedBuyersMarketplace marketplaceClient , Namespace parsedArgs ) { Long accountId = parsedArgs . getLong ( "account_id" ); Long clientId = parsedArgs . getLong ( "client_id" ); Long clientUserId = parsedArgs . getLong ( "client_user_id" ); String name = String . format ( "buyers/%d/clients/%d/users/%d" , accountId , clientId , clientUserId ); ClientUser clientUser = null ; try { clientUser = marketplaceClient . buyers (). clients (). users (). get ( name ). execute (); } catch ( IOException ex ) { System . out . printf ( "Marketplace API returned error response:%n%s" , ex ); System . exit ( 1 ); } System . out . printf ( "Found client user with name \"%s\":%n" , name ); Utils . printClientUser ( clientUser ); } public static void main ( String [] args ) { ArgumentParser parser = ArgumentParsers . newFor ( "GetClientUsers" ) . build () . defaultHelp ( true ) . description (( "Get a client user for the given buyer, client, and client user IDs." )); parser . addArgument ( "-a" , "--account_id" ) . help ( "The resource ID of the buyers resource under which the parent client was created. " + "This will be used to construct the parent used as a path parameter for the " + "users.get request." ) . required ( true ) . type ( Long . class ); parser . addArgument ( "-c" , "--client_id" ) . help ( "The resource ID of the buyers.clients resource for which the user was created. This" + " will be used to construct the name used as a path parameter for the users.get " + "request." ) . required ( true ) . type ( Long . class ); parser . addArgument ( "-u" , "--client_user_id" ) . help ( "The resource ID of the buyers.clients.users resource that is being retrieved. This" + " will be used to construct the name used as a path parameter for the users.get " + "request." ) . required ( true ) . type ( Long . class ); Namespace parsedArgs = null ; try { parsedArgs = parser . parseArgs ( args ); } catch ( ArgumentParserException ex ) { parser . handleError ( ex ); System . exit ( 1 ); } AuthorizedBuyersMarketplace client = null ; try { client = Utils . getMarketplaceClient (); } catch ( IOException ex ) { System . out . printf ( "Unable to create Marketplace API service:%n%s" , ex ); System . out . println ( "Did you specify a valid path to a service account key file?" ); System . exit ( 1 ); } catch ( GeneralSecurityException ex ) { System . out . printf ( "Unable to establish secure HttpTransport:%n%s" , ex ); System . exit ( 1 ); } execute ( client , parsedArgs ); } }
Python
#!/usr/bin/python # # Copyright 2021 Google Inc. All Rights Reserved. # # 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. """Gets a single client user for the given account, client, and user IDs.""" import argparse import os import pprint import sys sys . path . insert ( 0 , os . path . abspath ( '../../../..' )) from googleapiclient.errors import HttpError import util _CLIENT_USERS_NAME_TEMPLATE = 'buyers/ %s /clients/ %s /users/ %s ' DEFAULT_BUYER_RESOURCE_ID = 'ENTER_BUYER_RESOURCE_ID_HERE' DEFAULT_CLIENT_RESOURCE_ID = 'ENTER_CLIENT_RESOURCE_ID_HERE' DEFAULT_CLIENT_USER_RESOURCE_ID = 'ENTER_CLIENT_USER_RESOURCE_ID_HERE' def main ( marketplace , args ): client_user_name = _CLIENT_USERS_NAME_TEMPLATE % ( args . account_id , args . client_id , args . client_user_id ) print ( f 'Get client user with name " { client_user_name } ":' ) try : # Construct and execute the request. response = marketplace . buyers () . clients () . users () . get ( name = client_user_name ) . execute () except HttpError as e : print ( e ) sys . exit ( 1 ) pprint . pprint ( response ) if __name__ == '__main__' : try : service = util . get_service ( version = 'v1' ) except IOError as ex : print ( f 'Unable to create marketplace service - { ex } ' ) print ( 'Did you specify the key file in util.py?' ) sys . exit ( 1 ) parser = argparse . ArgumentParser ( description = ( 'Get a client for the given buyer account ID, client ID, ' 'and client user ID.' )) # Required fields. parser . add_argument ( '-a' , '--account_id' , default = DEFAULT_BUYER_RESOURCE_ID , help = ( 'The resource ID of the buyers resource under which the ' 'client user was created. This will be used to construct the ' 'name used as a path parameter for the users.get request.' )) parser . add_argument ( '-c' , '--client_id' , default = DEFAULT_CLIENT_RESOURCE_ID , help = ( 'The resource ID of the buyers.clients resource under which the ' 'client user was created. This will be used to construct the ' 'name used as a path parameter for the users.get request.' )) parser . add_argument ( '-u' , '--client_user_id' , default = DEFAULT_CLIENT_USER_RESOURCE_ID , help = ( 'The resource ID of the buyers.clients.users resource for which ' 'the client user was created. This will be used to construct the ' 'name used as a path parameter for the users.get request.' )) main ( service , parser . parse_args ())
List multiple users
You can use the buyers.clients.users.list
method to retrieve a list of users for a given Client
.
For example, you can use list
to verify whether a specific email has access to
the Authorized Buyers Marketplace UI on behalf of a particular Client
.
The following sample demonstrates how you can retrieve a list of users with
the list
method.
REST
Request
GET https://authorizedbuyersmarketplace.googleapis.com/v1/buyers/12345678/clients/873721984/users?pageSize=3&alt=json Authorization: Bearer ACCESS_TOKEN Content-Type: application/json
Response
{ "clientUsers": [ { "name": "buyers/12345678/clients/873721984/users/4573638", "state": "INVITED", "email": "testemail87339346@test.com" }, { "name": "buyers/12345678/clients/873721984/users/4573641", "state": "INVITED", "email": "testemail88584947@test.com" }, { "name": "buyers/12345678/clients/873721984/users/4573644", "state": "INACTIVE", "email": "jessie@luxurymarscruises.mars" } ], "nextPageToken": "CAQQ4tWk59Td9gIY4tWk59Td9gI=" }
C#
/* Copyright 2022 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. */ using Google.Apis.AuthorizedBuyersMarketplace.v1 ; using Google.Apis.AuthorizedBuyersMarketplace.v1.Data ; using Mono.Options ; using System ; using System.Collections.Generic ; namespace Google.Apis.AuthorizedBuyersMarketplace.Examples.v1.Buyers.Clients.Users { /// <summary> /// Lists client users for a given client. /// </summary> public class ListClientUsers : ExampleBase { private AuthorizedBuyersMarketplaceService mkService ; /// <summary> /// Constructor. /// </summary> public ListClientUsers () { mkService = Utilities . GetAuthorizedBuyersMarketplaceService (); } /// <summary> /// Returns a description about the code example. /// </summary> public override string Description { get = > "This code example lists all client users for a given client." ; } /// <summary> /// Parse specified arguments. /// </summary> protected override Dictionary<string , object > ParseArguments ( List<string> exampleArgs ) { string [] requiredOptions = new string [] { "account_id" , "client_id" }; bool showHelp = false ; string accountId = null ; string clientId = null ; int? pageSize = null ; OptionSet options = new OptionSet { "List clients for the given buyer account." , { "h|help" , "Show help message and exit." , h = > showHelp = h != null }, { "a|account_id=" , ( "[Required] The resource ID of the buyers resource under which the " + "clients were created. This will be used to construct the parent used as " + "a path parameter for the users.list request." ), a = > accountId = a }, { "c|client_id=" , ( "[Required] The resource ID of the buyers.clients resource under which the " + "users were created. This will be used to construct the name used as a " + "path parameter for the users.list request." ), c = > clientId = c }, { "p|page_size=" , ( "The number of rows to return per page. The server may return fewer rows " + "than specified." ), ( int p ) = > pageSize = p }, }; List<string> extras = options . Parse ( exampleArgs ); var parsedArgs = new Dictionary<string , object > (); // Show help message. if ( showHelp == true ) { options . WriteOptionDescriptions ( Console . Out ); Environment . Exit ( 0 ); } // Set arguments. parsedArgs [ "account_id" ] = accountId ; parsedArgs [ "client_id" ] = clientId ; parsedArgs [ "pageSize" ] = pageSize ?? Utilities . MAX_PAGE_SIZE ; // Validate that options were set correctly. Utilities . ValidateOptions ( options , parsedArgs , requiredOptions , extras ); return parsedArgs ; } /// <summary> /// Run the example. /// </summary> /// <param name="parsedArgs">Parsed arguments for the example.</param> protected override void Run ( Dictionary<string , object > parsedArgs ) { string accountId = ( string ) parsedArgs [ "account_id" ]; string clientId = ( string ) parsedArgs [ "client_id" ]; string parent = $"buyers/{accountId}/clients/{clientId}" ; string pageToken = null ; Console . WriteLine ( @"Listing client users for client with name: ""{0}""" , parent ); do { BuyersResource . ClientsResource . UsersResource . ListRequest request = mkService . Buyers . Clients . Users . List ( parent ); request . PageSize = ( int ) parsedArgs [ "pageSize" ]; request . PageToken = pageToken ; ListClientUsersResponse page = null ; try { page = request . Execute (); } catch ( Exception exception ) { throw new ApplicationException ( $"Marketplace API returned error response:\n{exception.Message}" ); } var users = page . ClientUsers ; pageToken = page . NextPageToken ; if ( users == null ) { Console . WriteLine ( "No client users found for the given client." ); } else { foreach ( ClientUser user in users ) { Utilities . PrintClientUser ( user ); } } } while ( pageToken != null ); } } }
Java
/* * Copyright 2022 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 com.google.api.services.samples.authorizedbuyers.marketplace.v1.buyers.clients.users ; import com.google.api.services.authorizedbuyersmarketplace.v1.AuthorizedBuyersMarketplace ; import com.google.api.services.authorizedbuyersmarketplace.v1.model.ClientUser ; import com.google.api.services.authorizedbuyersmarketplace.v1.model.ListClientUsersResponse ; import com.google.api.services.samples.authorizedbuyers.marketplace.Utils ; import java.io.IOException ; import java.security.GeneralSecurityException ; import java.util.List ; import net.sourceforge.argparse4j.ArgumentParsers ; import net.sourceforge.argparse4j.inf.ArgumentParser ; import net.sourceforge.argparse4j.inf.ArgumentParserException ; import net.sourceforge.argparse4j.inf.Namespace ; /** This sample illustrates how to list client users for a given client. */ public class ListClientUsers { public static void execute ( AuthorizedBuyersMarketplace marketplaceClient , Namespace parsedArgs ) { Long accountId = parsedArgs . getLong ( "account_id" ); Long clientId = parsedArgs . getLong ( "client_id" ); Integer pageSize = parsedArgs . getInt ( "page_size" ); String parentClientName = String . format ( "buyers/%d/clients/%d" , accountId , clientId ); String pageToken = null ; System . out . printf ( "Found client users for client with name \"%s\":%n" , parentClientName ); do { List<ClientUser> clientUsers = null ; try { ListClientUsersResponse response = marketplaceClient . buyers () . clients () . users () . list ( parentClientName ) . setPageSize ( pageSize ) . setPageToken ( pageToken ) . execute (); clientUsers = response . getClientUsers (); pageToken = response . getNextPageToken (); } catch ( IOException ex ) { System . out . printf ( "Marketplace API returned error response:%n%s" , ex ); System . exit ( 1 ); } if ( clientUsers == null ) { System . out . println ( "No client users found." ); } else { for ( ClientUser clientUser : clientUsers ) { Utils . printClientUser ( clientUser ); } } } while ( pageToken != null ); } public static void main ( String [] args ) { ArgumentParser parser = ArgumentParsers . newFor ( "ListClientUsers" ) . build () . defaultHelp ( true ) . description (( "Lists client users associated with the given buyer account." )); parser . addArgument ( "-a" , "--account_id" ) . help ( "The resource ID of the buyers resource under which the parent client was created. " + "This will be used to construct the parent used as a path parameter for the " + "users.list request." ) . required ( true ) . type ( Long . class ); parser . addArgument ( "-c" , "--client_id" ) . help ( "The resource ID of the buyers.clients resource we are retrieving client users on" + " behalf of. This will be used to construct the parent used as a path parameter" + " for the users.list request." ) . required ( true ) . type ( Long . class ); parser . addArgument ( "-p" , "--page_size" ) . help ( "The number of rows to return per page. The server may return fewer rows than " + "specified." ) . setDefault ( Utils . getMaximumPageSize ()) . type ( Integer . class ); Namespace parsedArgs = null ; try { parsedArgs = parser . parseArgs ( args ); } catch ( ArgumentParserException ex ) { parser . handleError ( ex ); System . exit ( 1 ); } AuthorizedBuyersMarketplace client = null ; try { client = Utils . getMarketplaceClient (); } catch ( IOException ex ) { System . out . printf ( "Unable to create Marketplace API service:%n%s" , ex ); System . out . println ( "Did you specify a valid path to a service account key file?" ); System . exit ( 1 ); } catch ( GeneralSecurityException ex ) { System . out . printf ( "Unable to establish secure HttpTransport:%n%s" , ex ); System . exit ( 1 ); } execute ( client , parsedArgs ); } }
Python
#!/usr/bin/python # # Copyright 2021 Google Inc. All Rights Reserved. # # 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. """This example lists client users for the specified buyer.""" import argparse import os import pprint import sys sys . path . insert ( 0 , os . path . abspath ( '../../../..' )) from googleapiclient.errors import HttpError import util _CLIENT_NAME_TEMPLATE = 'buyers/ %s /clients/ %s ' DEFAULT_BUYER_RESOURCE_ID = 'ENTER_BUYER_RESOURCE_ID_HERE' DEFAULT_CLIENT_RESOURCE_ID = 'ENTER_CLIENT_RESOURCE_ID_HERE' def main ( marketplace , args ): client_name = _CLIENT_NAME_TEMPLATE % ( args . account_id , args . client_id ) page_size = args . page_size page_token = None more_pages = True print ( f 'Listing client users for client with name " { client_name } ".' ) while more_pages : try : # Construct and execute the request. response = marketplace . buyers () . clients () . users () . list ( parent = client_name , pageToken = page_token , pageSize = page_size ) . execute () except HttpError as e : print ( e ) sys . exit ( 1 ) pprint . pprint ( response ) page_token = response . get ( 'nextPageToken' ) more_pages = bool ( page_token ) if __name__ == '__main__' : try : service = util . get_service ( version = 'v1' ) except IOError as ex : print ( f 'Unable to create marketplace service - { ex } ' ) print ( 'Did you specify the key file in util.py?' ) sys . exit ( 1 ) parser = argparse . ArgumentParser ( description = ( 'Lists client users for the given buyer account and client ' 'IDS.' )) # Required fields. parser . add_argument ( '-a' , '--account_id' , default = DEFAULT_BUYER_RESOURCE_ID , help = ( 'The resource ID of the buyers resource under which the clients ' 'were created. This will be used to construct the parent used as a ' 'path parameter for the users.list request.' )) parser . add_argument ( '-c' , '--client_id' , default = DEFAULT_BUYER_RESOURCE_ID , help = ( 'The resource ID of the clients resource under which the client ' 'users were created. This will be used to construct the parent ' 'used as a path parameter for the users.list request.' )) # Optional fields. parser . add_argument ( '-p' , '--page_size' , default = util . MAX_PAGE_SIZE , help = ( 'The number of rows to return per page. The server may return ' 'fewer rows than specified.' )) main ( service , parser . parse_args ())