bidders
リソースとそのサブリソースを使用して、リアルタイム
入札の統合、関連する購入者の 1 つ以上のリソースの操作。
ビッダーは
購入者として入札する場合、
できます。これは、API では bidders
リソースと buyers
リソースで表されます。
作成する必要があります。
個々のビッダーを取得する
次のコードは、承認されたユーザーがファイルを取得する方法を示しています。
個々の入札者に
bidders.get
。
リクエストする
GET https://realtimebidding.googleapis.com/v1/bidders/12345678?alt=json
Authorization: Bearer <INSERT_ACCESS_TOKEN_HERE>
Content-Type: application/json
レスポンス
{
"cookieMatchingNetworkId": "devrel_test_account",
"cookieMatchingUrl": "https://google.com/cm",
"dealsBillingId": "10293847",
"name": "bidders/12345678"
}
/* 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);
}
}
}
/*
* 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
/**
* 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';
}
}
#!/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)
#!/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
ビッダーのリストを取得する
次のコードは、認証されたユーザーが IP アドレスのリストを取得する方法を示しています。
Google またはサービス アカウントに関連付けられているすべてのビッダーが、
bidders.list
。
リクエストする
GET https://realtimebidding.googleapis.com/v1/bidders?pageSize=50&alt=json
Authorization: Bearer <INSERT_ACCESS_TOKEN_HERE>
Content-Type: application/json
レスポンス
{
"bidders": [
{
"cookieMatchingNetworkId": "devrel_test_account",
"cookieMatchingUrl": "https://google.com/cm",
"dealsBillingId": "10293847",
"name": "bidders/12345678"
}
]
}
/* 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);
}
}
}
/*
* 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
/**
* 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';
}
}
#!/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)
#!/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