Bidders

You can use the bidders resource and its sub-resources to manage a Real-time Bidding integration, or act on one or more resources for associated buyers.

As a bidder, you can also act as a buyer if you bid on your own behalf. This is represented in the API by bidders and buyers resources with the same resource ID.

Retrieve an individual bidder

The following code demonstrates how an authorized user can retrieve an individual bidder with bidders.get .

REST

Request

GET https://realtimebidding.googleapis.com/v1/bidders/12345678?alt=json
Authorization: Bearer <INSERT_ACCESS_TOKEN_HERE>
Content-Type: application/json

Response

{
  "cookieMatchingNetworkId": "devrel_test_account",
  "cookieMatchingUrl": "https://google.com/cm",
  "dealsBillingId": "10293847",
  "name": "bidders/12345678"
}

C#

 /* Copyright 2021 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.RealTimeBidding.v1 
 ; 
 using 
  
 Google.Apis.RealTimeBidding.v1.Data 
 ; 
 using 
  
 Mono.Options 
 ; 
 using 
  
 System 
 ; 
 using 
  
 System.Collections.Generic 
 ; 
 namespace 
  
 Google.Apis.RealTimeBidding.Examples.v1.Bidders 
 { 
  
 /// <summary> 
  
 /// Gets a single bidder for the specified bidder name. 
  
 /// 
  
 /// The bidder specified must be associated with the authorized service account specified in 
  
 /// Utilities.cs. 
  
 /// </summary> 
  
 public 
  
 class 
  
 GetBidders 
  
 : 
  
 ExampleBase 
  
 { 
  
 private 
  
 RealTimeBiddingService 
  
 rtbService 
 ; 
  
 /// <summary> 
  
 /// Constructor. 
  
 /// </summary> 
  
 public 
  
 GetBidders 
 () 
  
 { 
  
 rtbService 
  
 = 
  
 Utilities 
 . 
 GetRealTimeBiddingService 
 (); 
  
 } 
  
 /// <summary> 
  
 /// Returns a description about the code example. 
  
 /// </summary> 
  
 public 
  
 override 
  
 string 
  
 Description 
  
 { 
  
 get 
  
 = 
>  
 "Get a bidder for the given account ID." 
 ; 
  
 } 
  
 /// <summary> 
  
 /// Parse specified arguments. 
  
 /// </summary> 
  
 protected 
  
 override 
  
 Dictionary<string 
 , 
  
 object 
>  
 ParseArguments 
 ( 
 List<string> 
  
 exampleArgs 
 ) 
  
 { 
  
 string 
 [] 
  
 requiredOptions 
  
 = 
  
 new 
  
 string 
 [] 
  
 { 
 "account_id" 
 }; 
  
 bool 
  
 showHelp 
  
 = 
  
 false 
 ; 
  
 string 
  
 accountId 
  
 = 
  
 null 
 ; 
  
 OptionSet 
  
 options 
  
 = 
  
 new 
  
 OptionSet 
  
 { 
  
 "Get a bidder for the given bidder account ID." 
 , 
  
 { 
  
 "h|help" 
 , 
  
 "Show help message and exit." 
 , 
  
 h 
  
 = 
>  
 showHelp 
  
 = 
  
 h 
  
 != 
  
 null 
  
 }, 
  
 { 
  
 "a|account_id=" 
 , 
  
 ( 
 "[Required] The resource ID of the bidders resource that is being " 
  
 + 
  
 "retrieved. This will be used to construct the name used as a path " 
  
 + 
  
 "parameter for the bidders.get request." 
 ), 
  
 a 
  
 = 
>  
 accountId 
  
 = 
  
 a 
  
 }, 
  
 }; 
  
 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 
 ; 
  
 // 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 
  
 name 
  
 = 
  
 $"bidders/{accountId}" 
 ; 
  
 BiddersResource 
 . 
 GetRequest 
  
 request 
  
 = 
  
 rtbService 
 . 
 Bidders 
 . 
 Get 
 ( 
 name 
 ); 
  
 Bidder 
  
 response 
  
 = 
  
 null 
 ; 
  
 Console 
 . 
 WriteLine 
 ( 
 "Getting bidder with name: {0}" 
 , 
  
 name 
 ); 
  
 try 
  
 { 
  
 response 
  
 = 
  
 request 
 . 
 Execute 
 (); 
  
 } 
  
 catch 
  
 ( 
 System 
 . 
 Exception 
  
 exception 
 ) 
  
 { 
  
 throw 
  
 new 
  
 ApplicationException 
 ( 
  
 $"Real-time Bidding API returned error response:\n{exception.Message}" 
 ); 
  
 } 
  
 Utilities 
 . 
 PrintBidder 
 ( 
 response 
 ); 
  
 } 
  
 } 
 } 

Java

 /* 
 * Copyright 2021 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.realtimebidding.v1.bidders 
 ; 
 import 
  
 com.google.api.services.realtimebidding.v1.RealTimeBidding 
 ; 
 import 
  
 com.google.api.services.realtimebidding.v1.model.Bidder 
 ; 
 import 
  
 com.google.api.services.samples.authorizedbuyers.realtimebidding.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 single bidder for the specified bidder name. 
 * 
 * <p>The bidder specified must be associated with the authorized service account specified in 
 * Utils.java. 
 */ 
 public 
  
 class 
 GetBidders 
  
 { 
  
 public 
  
 static 
  
 void 
  
 execute 
 ( 
 RealTimeBidding 
  
 client 
 , 
  
 Namespace 
  
 parsedArgs 
 ) 
  
 throws 
  
 IOException 
  
 { 
  
 Long 
  
 accountId 
  
 = 
  
 parsedArgs 
 . 
 getLong 
 ( 
 "account_id" 
 ); 
  
 String 
  
 name 
  
 = 
  
 String 
 . 
 format 
 ( 
 "bidders/%s" 
 , 
  
 accountId 
 ); 
  
 Bidder 
  
 bidder 
  
 = 
  
 client 
 . 
 bidders 
 (). 
 get 
 ( 
 name 
 ). 
 execute 
 (); 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Get bidder with ID '%s'.\n" 
 , 
  
 accountId 
 ); 
  
 Utils 
 . 
 printBidder 
 ( 
 bidder 
 ); 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 { 
  
 ArgumentParser 
  
 parser 
  
 = 
  
 ArgumentParsers 
 . 
 newFor 
 ( 
 "GetBidders" 
 ) 
  
 . 
 build 
 () 
  
 . 
 defaultHelp 
 ( 
 true 
 ) 
  
 . 
 description 
 (( 
 "Get a bidder for the given account ID." 
 )); 
  
 parser 
  
 . 
 addArgument 
 ( 
 "-a" 
 , 
  
 "--account_id" 
 ) 
  
 . 
 help 
 ( 
  
 "The resource ID of the bidders resource that is being retrieved. This will be used to" 
  
 + 
  
 " construct the name used as a path parameter for the bidders.get request." 
 ) 
  
 . 
 required 
 ( 
 true 
 ) 
  
 . 
 type 
 ( 
 Long 
 . 
 class 
 ); 
  
 Namespace 
  
 parsedArgs 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 parsedArgs 
  
 = 
  
 parser 
 . 
 parseArgs 
 ( 
 args 
 ); 
  
 } 
  
 catch 
  
 ( 
 ArgumentParserException 
  
 ex 
 ) 
  
 { 
  
 parser 
 . 
 handleError 
 ( 
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 RealTimeBidding 
  
 client 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 client 
  
 = 
  
 Utils 
 . 
 getRealTimeBiddingClient 
 (); 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Unable to create RealTimeBidding 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 
 ); 
  
 } 
  
 try 
  
 { 
  
 execute 
 ( 
 client 
 , 
  
 parsedArgs 
 ); 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "RealTimeBidding API returned error response:\n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 } 
 } 

PHP

< ?php 
 /** 
 * Copyright 2021 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. 
 */ 
 namespace Google\Ads\AuthorizedBuyers\RealTimeBidding\Examples\V1\Bidders; 
 use Google\Ads\AuthorizedBuyers\RealTimeBidding\ExampleUtil\BaseExample; 
 use Google\Ads\AuthorizedBuyers\RealTimeBidding\ExampleUtil\Config; 
 /** 
 * This example illustrates how to get a single bidder for the specified bidder name. 
 * 
 * The bidder specified must be associated with the authorized service account. 
 */ 
 class GetBidders extends BaseExample 
 { 
 public function __construct($client) 
 { 
 $this->service = Config::getGoogleServiceRealTimeBidding($client); 
 } 
 /** 
 * @see BaseExample::getInputParameters() 
 */ 
 protected function getInputParameters() 
 { 
 return [ 
 [ 
 'name' => 'account_id', 
 'display' => 'Account ID', 
 'required' => true, 
 'description' = 
> 'The resource ID of the bidders resource that is being retrieved. This will ' . 
 'be used to construct the name used as a path parameter for the bidders.get ' . 
 'request.' 
 ] 
 ]; 
 } 
 /** 
 * @see BaseExample::run() 
 */ 
 public function run() 
 { 
 $values = $this->formValues; 
 $name = "bidders/$values[account_id]"; 
 try { 
 $bidder = $this->service->bidders->get($name); 
 print '<h2>Found bidder.</h2>'; 
 $this->printResult($bidder); 
 } catch (Google_Service_Exception $ex) { 
 if ($ex->getCode() === 404 || $ex->getCode() === 403) { 
 print '<h1>Bidder not found or can\'t access bidder account.</h1>'; 
 } else { 
 throw $ex; 
 } 
 } 
 } 
 /** 
 * @see BaseExample::getName() 
 */ 
 public function getName() 
 { 
 return 'Get Bidder'; 
 } 
 } 

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 bidder for the specified bidder name. 
 The bidder specified must be associated with the authorized service account. 
 """ 
 import 
  
 argparse 
 import 
  
 os 
 import 
  
 pprint 
 import 
  
 sys 
 sys 
 . 
 path 
 . 
 insert 
 ( 
 0 
 , 
 os 
 . 
 path 
 . 
 abspath 
 ( 
 '../..' 
 )) 
 from 
  
 googleapiclient.errors 
  
 import 
 HttpError 
 import 
  
 util 
 _BIDDERS_NAME_TEMPLATE 
 = 
 'bidders/ 
 %s 
 ' 
 DEFAULT_BIDDER_RESOURCE_ID 
 = 
 'ENTER_BIDDER_RESOURCE_ID_HERE' 
 def 
  
 main 
 ( 
 realtimebidding 
 , 
 account_id 
 ): 
 print 
 ( 
 f 
 'Get Bidder with ID " 
 { 
 account_id 
 } 
 ":' 
 ) 
 try 
 : 
 # Construct and execute the request. 
 response 
 = 
 realtimebidding 
 . 
 bidders 
 () 
 . 
 get 
 ( 
 name 
 = 
 _BIDDERS_NAME_TEMPLATE 
 % 
 account_id 
 ) 
 . 
 execute 
 () 
 except 
 HttpError 
 as 
 e 
 : 
 print 
 ( 
 e 
 ) 
 sys 
 . 
 exit 
 ( 
 1 
 ) 
 pprint 
 . 
 pprint 
 ( 
 response 
 ) 
 if 
 __name__ 
 == 
 '__main__' 
 : 
 try 
 : 
 service 
 = 
 util 
 . 
 GetService 
 ( 
 version 
 = 
 'v1' 
 ) 
 except 
 IOError 
 as 
 ex 
 : 
 print 
 ( 
 f 
 'Unable to create realtimebidding service - 
 { 
 ex 
 } 
 ' 
 ) 
 print 
 ( 
 'Did you specify the key file in util.py?' 
 ) 
 sys 
 . 
 exit 
 ( 
 1 
 ) 
 parser 
 = 
 argparse 
 . 
 ArgumentParser 
 ( 
 description 
 = 
 ( 
 'Get a bidder for the given account ID.' 
 )) 
 # Required fields. 
 parser 
 . 
 add_argument 
 ( 
 '-a' 
 , 
 '--account_id' 
 , 
 default 
 = 
 DEFAULT_BIDDER_RESOURCE_ID 
 , 
 help 
 = 
 ( 
 'The resource ID of the bidders resource that is being retrieved. ' 
 'This will be used to construct the name used as a path parameter ' 
 'for the bidders.get request.' 
 )) 
 args 
 = 
 parser 
 . 
 parse_args 
 () 
 main 
 ( 
 service 
 , 
 args 
 . 
 account_id 
 ) 

Ruby

 #!/usr/bin/env ruby 
 # Encoding: utf-8 
 # 
 # Copyright:: Copyright 2021 Google LLC 
 # 
 # License:: 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 bidder for the specified bidder name. 
 # 
 # The bidder specified must be associated with the service account specified in util.rb. 
 require 
  
 'optparse' 
 require_relative 
  
 '../../util' 
 def 
  
 get_bidders 
 ( 
 realtimebidding 
 , 
  
 options 
 ) 
  
 name 
  
 = 
  
 "bidders/ 
 #{ 
 options 
 [ 
 :account_id 
 ] 
 } 
 " 
  
 puts 
  
 "Get bidder with name ' 
 #{ 
 name 
 } 
 '" 
  
 bidder 
  
 = 
  
 realtimebidding 
 . 
 get_bidder 
 ( 
 name 
 ) 
  
 print_bidder 
 ( 
 bidder 
 ) 
 end 
 if 
  
 __FILE__ 
  
 == 
  
 $0 
  
 begin 
  
 # Retrieve the service used to make API requests. 
  
 service 
  
 = 
  
 get_service 
 () 
  
 rescue 
  
 ArgumentError 
  
 = 
>  
 e 
  
 raise 
  
 'Unable to create service, with error message: 
 #{ 
 e 
 . 
 message 
 } 
 ' 
  
 rescue 
  
 Signet 
 :: 
 AuthorizationError 
  
 = 
>  
 e 
  
 raise 
  
 'Unable to create service, was the KEY_FILE in util.rb set? Error message: 
 #{ 
 e 
 . 
 message 
 } 
 ' 
  
 end 
  
 # Set options and default values for fields used in this example. 
  
 options 
  
 = 
  
 [ 
  
 Option 
 . 
 new 
 ( 
  
 'account_id' 
 , 
  
 'The resource ID of the bidders resource that is being retrieved. This will be used to ' 
 \ 
  
 'construct the name used as a path parameter for the bidders.get request.' 
 , 
  
 type 
 : 
  
 Integer 
 , 
  
 short_alias 
 : 
  
 'a' 
 , 
  
 required 
 : 
  
 true 
 , 
  
 default_value 
 : 
  
 nil 
  
 ), 
  
 ] 
  
 # Parse options. 
  
 parser 
  
 = 
  
 Parser 
 . 
 new 
 ( 
 options 
 ) 
  
 opts 
  
 = 
  
 parser 
 . 
 parse 
 ( 
 ARGV 
 ) 
  
 begin 
  
 get_bidders 
 ( 
 service 
 , 
  
 opts 
 ) 
  
 rescue 
  
 Google 
 :: 
 Apis 
 :: 
 ServerError 
  
 = 
>  
 e 
  
 raise 
  
 "The following server error occured: 
 \n 
 #{ 
 e 
 . 
 message 
 } 
 " 
  
 rescue 
  
 Google 
 :: 
 Apis 
 :: 
 ClientError 
  
 = 
>  
 e 
  
 raise 
  
 "Invalid client request: 
 \n 
 #{ 
 e 
 . 
 message 
 } 
 " 
  
 rescue 
  
 Google 
 :: 
 Apis 
 :: 
 AuthorizationError 
  
 = 
>  
 e 
  
 raise 
  
 "Authorization error occured: 
 \n 
 #{ 
 e 
 . 
 message 
 } 
 " 
  
 end 
 end 

Retrieve a list of bidders

The following code demonstrates how an authorized user can retrieve a list of all bidders associated with their Google or Service account with bidders.list .

REST

Request

GET https://realtimebidding.googleapis.com/v1/bidders?pageSize=50&alt=json
Authorization: Bearer <INSERT_ACCESS_TOKEN_HERE>
Content-Type: application/json

Response

{
  "bidders": [
    {
      "cookieMatchingNetworkId": "devrel_test_account",
      "cookieMatchingUrl": "https://google.com/cm",
      "dealsBillingId": "10293847",
      "name": "bidders/12345678"
    }
  ]
}

C#

 /* Copyright 2021 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.RealTimeBidding.v1 
 ; 
 using 
  
 Google.Apis.RealTimeBidding.v1.Data 
 ; 
 using 
  
 Mono.Options 
 ; 
 using 
  
 System 
 ; 
 using 
  
 System.Collections.Generic 
 ; 
 namespace 
  
 Google.Apis.RealTimeBidding.Examples.v1.Bidders 
 { 
  
 /// <summary> 
  
 /// Lists bidders associated with the authorized service account. 
  
 /// </summary> 
  
 public 
  
 class 
  
 ListBidders 
  
 : 
  
 ExampleBase 
  
 { 
  
 private 
  
 RealTimeBiddingService 
  
 rtbService 
 ; 
  
 /// <summary> 
  
 /// Constructor. 
  
 /// </summary> 
  
 public 
  
 ListBidders 
 () 
  
 { 
  
 rtbService 
  
 = 
  
 Utilities 
 . 
 GetRealTimeBiddingService 
 (); 
  
 } 
  
 /// <summary> 
  
 /// Returns a description about the code example. 
  
 /// </summary> 
  
 public 
  
 override 
  
 string 
  
 Description 
  
 { 
  
 get 
  
 = 
>  
 "This code example lists all bidders associated with the service account " 
  
 + 
  
 "specified for the OAuth 2.0 flow in Utilities.cs." 
 ; 
  
 } 
  
 /// <summary> 
  
 /// Parse specified arguments. 
  
 /// </summary> 
  
 protected 
  
 override 
  
 Dictionary<string 
 , 
  
 object 
>  
 ParseArguments 
 ( 
 List<string> 
  
 exampleArgs 
 ) 
  
 { 
  
 string 
 [] 
  
 requiredOptions 
  
 = 
  
 new 
  
 string 
 [] 
  
 {}; 
  
 bool 
  
 showHelp 
  
 = 
  
 false 
 ; 
  
 int? 
  
 pageSize 
  
 = 
  
 null 
 ; 
  
 OptionSet 
  
 options 
  
 = 
  
 new 
  
 OptionSet 
  
 { 
  
 "List bidders associated with the authorized service account." 
 , 
  
 { 
  
 "h|help" 
 , 
  
 "Show help message and exit." 
 , 
  
 h 
  
 = 
>  
 showHelp 
  
 = 
  
 h 
  
 != 
  
 null 
  
 }, 
  
 { 
  
 "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 
 [ 
 "page_size" 
 ] 
  
 = 
  
 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 
  
 pageToken 
  
 = 
  
 null 
 ; 
  
 Console 
 . 
 WriteLine 
 ( 
 "Listing bidders for the authorized service account:" 
 ); 
  
 do 
  
 { 
  
 BiddersResource 
 . 
 ListRequest 
  
 request 
  
 = 
  
 rtbService 
 . 
 Bidders 
 . 
 List 
 (); 
  
 request 
 . 
 PageSize 
  
 = 
  
 ( 
 int 
 ) 
  
 parsedArgs 
 [ 
 "page_size" 
 ]; 
  
 request 
 . 
 PageToken 
  
 = 
  
 pageToken 
 ; 
  
 ListBiddersResponse 
  
 page 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 page 
  
 = 
  
 request 
 . 
 Execute 
 (); 
  
 } 
  
 catch 
  
 ( 
 System 
 . 
 Exception 
  
 exception 
 ) 
  
 { 
  
 throw 
  
 new 
  
 ApplicationException 
 ( 
  
 $"Real-time Bidding API returned error response:\n{exception.Message}" 
 ); 
  
 } 
  
 var 
  
 bidders 
  
 = 
  
 page 
 . 
 Bidders 
 ; 
  
 pageToken 
  
 = 
  
 page 
 . 
 NextPageToken 
 ; 
  
 if 
 ( 
 bidders 
  
 == 
  
 null 
 ) 
  
 { 
  
 Console 
 . 
 WriteLine 
 ( 
 "No bidders found." 
 ); 
  
 } 
  
 else 
  
 { 
  
 foreach 
  
 ( 
 Bidder 
  
 bidder 
  
 in 
  
 bidders 
 ) 
  
 { 
  
 Utilities 
 . 
 PrintBidder 
 ( 
 bidder 
 ); 
  
 } 
  
 } 
  
 } 
  
 while 
 ( 
 pageToken 
  
 != 
  
 null 
 ); 
  
 } 
  
 } 
 } 

Java

 /* 
 * Copyright 2021 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.realtimebidding.v1.bidders 
 ; 
 import 
  
 com.google.api.services.realtimebidding.v1.RealTimeBidding 
 ; 
 import 
  
 com.google.api.services.realtimebidding.v1.model.Bidder 
 ; 
 import 
  
 com.google.api.services.realtimebidding.v1.model.ListBiddersResponse 
 ; 
 import 
  
 com.google.api.services.samples.authorizedbuyers.realtimebidding.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 bidders associated with the authorized service account. */ 
 public 
  
 class 
 ListBidders 
  
 { 
  
 public 
  
 static 
  
 void 
  
 execute 
 ( 
 RealTimeBidding 
  
 client 
 , 
  
 Namespace 
  
 parsedArgs 
 ) 
  
 throws 
  
 IOException 
  
 { 
  
 Integer 
  
 pageSize 
  
 = 
  
 parsedArgs 
 . 
 getInt 
 ( 
 "page_size" 
 ); 
  
 String 
  
 pageToken 
  
 = 
  
 null 
 ; 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Listing bidders associated with OAuth 2.0 credentials." 
 ); 
  
 do 
  
 { 
  
 List<Bidder> 
  
 bidders 
  
 = 
  
 null 
 ; 
  
 ListBiddersResponse 
  
 response 
  
 = 
  
 client 
 . 
 bidders 
 (). 
 list 
 (). 
 setPageSize 
 ( 
 pageSize 
 ). 
 setPageToken 
 ( 
 pageToken 
 ). 
 execute 
 (); 
  
 bidders 
  
 = 
  
 response 
 . 
 getBidders 
 (); 
  
 pageToken 
  
 = 
  
 response 
 . 
 getNextPageToken 
 (); 
  
 if 
  
 ( 
 bidders 
  
 == 
  
 null 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "No bidders found." 
 ); 
  
 } 
  
 else 
  
 { 
  
 for 
  
 ( 
 Bidder 
  
 bidder 
  
 : 
  
 bidders 
 ) 
  
 { 
  
 Utils 
 . 
 printBidder 
 ( 
 bidder 
 ); 
  
 } 
  
 } 
  
 } 
  
 while 
  
 ( 
 pageToken 
  
 != 
  
 null 
 ); 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 { 
  
 ArgumentParser 
  
 parser 
  
 = 
  
 ArgumentParsers 
 . 
 newFor 
 ( 
 "ListBidders" 
 ) 
  
 . 
 build 
 () 
  
 . 
 defaultHelp 
 ( 
 true 
 ) 
  
 . 
 description 
 ( 
  
 "Lists bidders associated with the service account specified for the " 
  
 + 
  
 "OAuth 2.0 flow in Utils.java" 
 ); 
  
 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 
 ); 
  
 } 
  
 RealTimeBidding 
  
 client 
  
 = 
  
 null 
 ; 
  
 try 
  
 { 
  
 client 
  
 = 
  
 Utils 
 . 
 getRealTimeBiddingClient 
 (); 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Unable to create RealTimeBidding 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 
 ); 
  
 } 
  
 try 
  
 { 
  
 execute 
 ( 
 client 
 , 
  
 parsedArgs 
 ); 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 ex 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "RealTimeBidding API returned error response:\n%s" 
 , 
  
 ex 
 ); 
  
 System 
 . 
 exit 
 ( 
 1 
 ); 
  
 } 
  
 } 
 } 

PHP

< ?php 
 /** 
 * Copyright 2021 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. 
 */ 
 namespace Google\Ads\AuthorizedBuyers\RealTimeBidding\Examples\V1\Bidders; 
 use Google\Ads\AuthorizedBuyers\RealTimeBidding\ExampleUtil\BaseExample; 
 use Google\Ads\AuthorizedBuyers\RealTimeBidding\ExampleUtil\Config; 
 /** 
 * This example illustrates how to list bidders associated with the authorized service account. 
 */ 
 class ListBidders extends BaseExample 
 { 
 public function __construct($client) 
 { 
 $this->service = Config::getGoogleServiceRealTimeBidding($client); 
 } 
 /** 
 * @see BaseExample::getInputParameters() 
 */ 
 protected function getInputParameters() 
 { 
 return [ 
 [ 
 'name' => 'page_size', 
 'display' => 'Page size', 
 'required' => false, 
 'description' = 
> 'The number of rows to return per page. The server may return fewer rows ' . 
 'than specified.', 
 'default' => 10 
 ] 
 ]; 
 } 
 /** 
 * @see BaseExample::run() 
 */ 
 public function run() 
 { 
 $values = $this->formValues; 
 $queryParams = [ 
 'pageSize' => $values['page_size'] 
 ]; 
 $result = $this->service->bidders->listBidders($queryParams); 
 print "<h2>Listing bidders associated with OAuth 2.0 credentials:</h2>"; 
 if (empty($result['bidders'])) { 
 print '<p>No Bidders found</p>'; 
 } else { 
 foreach ($result['bidders'] as $bidder) { 
 $this->printResult($bidder); 
 } 
 } 
 } 
 /** 
 * @see BaseExample::getName() 
 */ 
 public function getName() 
 { 
 return 'List Bidders'; 
 } 
 } 

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. 
 """Lists bidders associated with the authorized service account.""" 
 import 
  
 argparse 
 import 
  
 os 
 import 
  
 pprint 
 import 
  
 sys 
 sys 
 . 
 path 
 . 
 insert 
 ( 
 0 
 , 
 os 
 . 
 path 
 . 
 abspath 
 ( 
 '../..' 
 )) 
 from 
  
 googleapiclient.errors 
  
 import 
 HttpError 
 import 
  
 util 
 def 
  
 main 
 ( 
 realtimebidding 
 , 
 args 
 ): 
 page_size 
 = 
 args 
 . 
 page_size 
 page_token 
 = 
 None 
 more_pages 
 = 
 True 
 print 
 ( 
 f 
 'Listing bidders associated with OAuth 2.0 credentials.' 
 ) 
 while 
 more_pages 
 : 
 try 
 : 
 # Construct and execute the request. 
 response 
 = 
 realtimebidding 
 . 
 bidders 
 () 
 . 
 list 
 ( 
 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 
 . 
 GetService 
 ( 
 version 
 = 
 'v1' 
 ) 
 except 
 IOError 
 as 
 ex 
 : 
 print 
 ( 
 f 
 'Unable to create realtimebidding service - 
 { 
 ex 
 } 
 ' 
 ) 
 print 
 ( 
 'Did you specify the key file in util.py?' 
 ) 
 sys 
 . 
 exit 
 ( 
 1 
 ) 
 parser 
 = 
 argparse 
 . 
 ArgumentParser 
 ( 
 description 
 = 
 ( 
 'Lists bidders associated with the service account ' 
 'specified for the OAuth 2.0 flow in util.py.' 
 )) 
 # 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.' 
 )) 
 args 
 = 
 parser 
 . 
 parse_args 
 () 
 main 
 ( 
 service 
 , 
 args 
 ) 

Ruby

 #!/usr/bin/env ruby 
 # Encoding: utf-8 
 # 
 # Copyright:: Copyright 2021 Google LLC 
 # 
 # License:: 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. 
 # 
 # Lists bidders associated with the service account specified in util.rb. 
 require 
  
 'optparse' 
 require_relative 
  
 '../../util' 
 def 
  
 list_bidders 
 ( 
 realtimebidding 
 , 
  
 options 
 ) 
  
 page_size 
  
 = 
  
 options 
 [ 
 :page_size 
 ] 
  
 page_token 
  
 = 
  
 nil 
  
 puts 
  
 "Listing bidders associated with OAuth 2.0 credentials." 
  
 begin 
  
 response 
  
 = 
  
 realtimebidding 
 . 
 list_bidders 
 ( 
  
 page_size 
 : 
  
 page_size 
 , 
  
 page_token 
 : 
  
 page_token 
  
 ) 
  
 page_token 
  
 = 
  
 response 
 . 
 next_page_token 
  
 unless 
  
 response 
 . 
 bidders 
 . 
 nil? 
  
 response 
 . 
 bidders 
 . 
 each 
  
 do 
  
 | 
 bidder 
 | 
  
 print_bidder 
 ( 
 bidder 
 ) 
  
 end 
  
 else 
  
 puts 
  
 'No bidders found.' 
  
 end 
  
 end 
  
 until 
  
 page_token 
  
 == 
  
 nil 
 end 
 if 
  
 __FILE__ 
  
 == 
  
 $0 
  
 begin 
  
 # Retrieve the service used to make API requests. 
  
 service 
  
 = 
  
 get_service 
 () 
  
 rescue 
  
 ArgumentError 
  
 = 
>  
 e 
  
 raise 
  
 'Unable to create service, with error message: 
 #{ 
 e 
 . 
 message 
 } 
 ' 
  
 rescue 
  
 Signet 
 :: 
 AuthorizationError 
  
 = 
>  
 e 
  
 raise 
  
 'Unable to create service, was the KEY_FILE in util.rb set? Error message: 
 #{ 
 e 
 . 
 message 
 } 
 ' 
  
 end 
  
 # Set options and default values for fields used in this example. 
  
 options 
  
 = 
  
 [ 
  
 Option 
 . 
 new 
 ( 
  
 'page_size' 
 , 
  
 'The number of rows to return per page. The server may return fewer rows than specified.' 
 , 
  
 type 
 : 
  
 Array 
 , 
  
 short_alias 
 : 
  
 'u' 
 , 
  
 required 
 : 
  
 false 
 , 
  
 default_value 
 : 
  
 MAX_PAGE_SIZE 
  
 ), 
  
 ] 
  
 # Parse options. 
  
 parser 
  
 = 
  
 Parser 
 . 
 new 
 ( 
 options 
 ) 
  
 opts 
  
 = 
  
 parser 
 . 
 parse 
 ( 
 ARGV 
 ) 
  
 begin 
  
 list_bidders 
 ( 
 service 
 , 
  
 opts 
 ) 
  
 rescue 
  
 Google 
 :: 
 Apis 
 :: 
 ServerError 
  
 = 
>  
 e 
  
 raise 
  
 "The following server error occured: 
 \n 
 #{ 
 e 
 . 
 message 
 } 
 " 
  
 rescue 
  
 Google 
 :: 
 Apis 
 :: 
 ClientError 
  
 = 
>  
 e 
  
 raise 
  
 "Invalid client request: 
 \n 
 #{ 
 e 
 . 
 message 
 } 
 " 
  
 rescue 
  
 Google 
 :: 
 Apis 
 :: 
 AuthorizationError 
  
 = 
>  
 e 
  
 raise 
  
 "Authorization error occured: 
 \n 
 #{ 
 e 
 . 
 message 
 } 
 " 
  
 end 
 end 
Create a Mobile Website
View Site in Mobile | Classic
Share by: