diff --git a/samples/adexchangebuyer/get_all_accounts.py b/samples/adexchangebuyer/get_all_accounts.py index 1cba97d..b1abc90 100644 --- a/samples/adexchangebuyer/get_all_accounts.py +++ b/samples/adexchangebuyer/get_all_accounts.py @@ -23,22 +23,22 @@ __author__ = 'david.t@google.com (David Torres)' import pprint import sys -from oauth2client.client import AccessTokenRefreshError -import sample_utils + +from apiclient import sample_tools +from oauth2client import client def main(argv): - sample_utils.process_flags(argv) - pretty_printer = pprint.PrettyPrinter() - - # Authenticate and construct service - service = sample_utils.initialize_service() + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'adexchangebuyer', 'v1.2', __doc__, __file__, + scope='https://www.googleapis.com/auth/adexchange.buyer') try: # Retrieve account list and display data as received result = service.accounts().list().execute() - pretty_printer.pprint(result) - except AccessTokenRefreshError: + pprint.pprint(result) + except client.AccessTokenRefreshError: print ('The credentials have been revoked or expired, please re-run the ' 'application to re-authorize') diff --git a/samples/adexchangebuyer/get_creative.py b/samples/adexchangebuyer/get_creative.py index ffa3385..5ed2bfa 100644 --- a/samples/adexchangebuyer/get_creative.py +++ b/samples/adexchangebuyer/get_creative.py @@ -22,31 +22,29 @@ Tags: creatives.insert __author__ = ('david.t@google.com (David Torres)', 'jdilallo@google.com (Joseph DiLallo)') +import argparse import pprint import sys -import gflags -from oauth2client.client import AccessTokenRefreshError -import sample_utils -# Declare command-line flags, and set them as required. -gflags.DEFINE_string('account_id', None, - 'The ID of the account that contains the creative', - short_name='a') -gflags.MarkFlagAsRequired('account_id') -gflags.DEFINE_string('buyer_creative_id', None, - 'A buyer-specific id that identifies this creative', - short_name='c') -gflags.MarkFlagAsRequired('buyer_creative_id') +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('account_id', type=int, + help='The ID of the account that contains the creative') +argparser.add_argument('buyer_creative_id', + help='A buyer-specific id that identifies this creative') def main(argv): - sample_utils.process_flags(argv) - account_id = gflags.FLAGS.account_id - buyer_creative_id = gflags.FLAGS.buyer_creative_id - pretty_printer = pprint.PrettyPrinter() - # Authenticate and construct service. - service = sample_utils.initialize_service() + service, flags = sample_tools.init( + argv, 'adexchangebuyer', 'v1.2', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/adexchange.buyer') + + account_id = flags.account_id + buyer_creative_id = flags.buyer_creative_id try: # Construct the request. @@ -54,8 +52,8 @@ def main(argv): buyerCreativeId=buyer_creative_id) # Execute request and print response. - pretty_printer.pprint(request.execute()) - except AccessTokenRefreshError: + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: print ('The credentials have been revoked or expired, please re-run the ' 'application to re-authorize') diff --git a/samples/adexchangebuyer/get_direct_deals.py b/samples/adexchangebuyer/get_direct_deals.py index 4acd7c6..0d39a96 100644 --- a/samples/adexchangebuyer/get_direct_deals.py +++ b/samples/adexchangebuyer/get_direct_deals.py @@ -23,16 +23,16 @@ __author__ = 'david.t@google.com (David Torres)' import pprint import sys -from oauth2client.client import AccessTokenRefreshError -import sample_utils + +from apiclient import sample_tools +from oauth2client import client def main(argv): - sample_utils.process_flags(argv) - pretty_printer = pprint.PrettyPrinter() - # Authenticate and construct service. - service = sample_utils.initialize_service() + service, flags = sample_tools.init( + argv, 'adexchangebuyer', 'v1.2', __doc__, __file__, + scope='https://www.googleapis.com/auth/adexchange.buyer') try: # Retrieve direct deals and display them as received if any. @@ -40,10 +40,10 @@ def main(argv): if 'direct_deals' in result: deals = result['direct_deals'] for deal in deals: - pretty_printer.pprint(deal) + pprint.pprint(deal) else: print 'No direct deals found' - except AccessTokenRefreshError: + except client.AccessTokenRefreshError: print ('The credentials have been revoked or expired, please re-run the ' 'application to re-authorize') diff --git a/samples/adexchangebuyer/sample_utils.py b/samples/adexchangebuyer/sample_utils.py deleted file mode 100644 index 7083efa..0000000 --- a/samples/adexchangebuyer/sample_utils.py +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/python -# -# Copyright 2012 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. - -"""Auxiliary file for Ad Exchange Buyer API code samples. - -Handles various tasks to do with logging, authentication and initialization. -""" - -__author__ = 'david.t@google.com (David Torres)' - -import logging -import os -import sys -from apiclient.discovery import build -import gflags -import httplib2 -from oauth2client.client import flow_from_clientsecrets -from oauth2client.client import OOB_CALLBACK_URN -from oauth2client.file import Storage -from oauth2client.tools import run - - -FLAGS = gflags.FLAGS - -# CLIENT_SECRETS, name of a file containing the OAuth 2.0 information for this -# application, including client_id and client_secret, which are found -# on the API Access tab on the Google APIs -# Console -CLIENT_SECRETS = 'client_secrets.json' - -# Helpful message to display in the browser if the CLIENT_SECRETS file -# is missing. -MISSING_CLIENT_SECRETS_MESSAGE = """ -WARNING: Please configure OAuth 2.0 - -To make this sample run you will need to populate the client_secrets.json file -found at: - - %s - -with information from the APIs Console . - -""" % os.path.join(os.path.dirname(__file__), CLIENT_SECRETS) - -# Set up a Flow object to be used if we need to authenticate. -FLOW = flow_from_clientsecrets( - CLIENT_SECRETS, - scope='https://www.googleapis.com/auth/adexchange.buyer', - redirect_uri=OOB_CALLBACK_URN, - message=MISSING_CLIENT_SECRETS_MESSAGE - ) - -# The gflags module makes defining command-line options easy for applications. -# Run this program with the '--help' argument to see all the flags that it -# understands. -gflags.DEFINE_enum('logging_level', 'ERROR', - ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'], - 'Set the level of logging detail.') - - -def process_flags(argv): - """Uses the command-line flags to set the logging level.""" - - # Let the gflags module process the command-line arguments. - try: - argv = FLAGS(argv) - except gflags.FlagsError, e: - print '%s\nUsage: %s ARGS\n%s' % (e, argv[0], FLAGS) - sys.exit(1) - - # Set the logging according to the command-line flag. - logging.getLogger().setLevel(getattr(logging, FLAGS.logging_level)) - - -def initialize_service(): - """Initializes and returns an instance of the Ad Exchange Buyer service. - - Authorizes the user for use of the service and returns it backs. - - Returns: - The authorized and initialized service. - """ - - # Create an httplib2.Http object to handle our HTTP requests. - http = httplib2.Http() - - # Prepare credentials, and authorize HTTP object with them. - # If the credentials don't exist or are invalid run through the native client - # flow. The Storage object will ensure that if successful the good - # credentials will get written back to a file. - storage = Storage('adexchangebuyer.dat') - credentials = storage.get() - if credentials is None or credentials.invalid: - credentials = run(FLOW, storage) - http = credentials.authorize(http) - - # Construct a service object via the discovery service. - service = build('adexchangebuyer', 'v1.2', http=http) - return service diff --git a/samples/adexchangebuyer/submit_creative.py b/samples/adexchangebuyer/submit_creative.py index abba2e3..e7ba2d7 100644 --- a/samples/adexchangebuyer/submit_creative.py +++ b/samples/adexchangebuyer/submit_creative.py @@ -22,36 +22,33 @@ Tags: creatives.insert __author__ = ('david.t@google.com (David Torres)', 'jdilallo@google.com (Joseph DiLallo)') +import argparse import pprint import sys -import gflags -from oauth2client.client import AccessTokenRefreshError -import sample_utils -# Declare command-line flags, and set them as required. -gflags.DEFINE_string('account_id', None, - 'The ID of the account to which submit the creative', - short_name='a') -gflags.MarkFlagAsRequired('account_id') -gflags.DEFINE_string('buyer_creative_id', None, - 'A buyer-specific id identifying the creative in this ad', - short_name='c') -gflags.MarkFlagAsRequired('buyer_creative_id') -gflags.DEFINE_string('agency_id', None, - 'The id of the agency who created this ad', - short_name='g') +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('account_id', type=int, + help='The ID of the account to which submit the creative') +argparser.add_argument('buyer_creative_id', + help='A buyer-specific id identifying the creative in' + 'this ad') +argparser.add_argument('agency_id', type=int, + help='The ID of the agency who created this ad') def main(argv): - sample_utils.process_flags(argv) - account_id = gflags.FLAGS.account_id - buyer_creative_id = gflags.FLAGS.buyer_creative_id - agency_id = gflags.FLAGS.agency_id - pretty_printer = pprint.PrettyPrinter() - # Authenticate and construct service. - service = sample_utils.initialize_service() + service, flags = sample_tools.init( + argv, 'adexchangebuyer', 'v1.2', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/adexchange.buyer') + account_id = flags.account_id + agency_id = flags.agency_id + buyer_creative_id = flags.buyer_creative_id try: # Create a new creative to submit. creative_body = { @@ -69,8 +66,8 @@ def main(argv): creative = service.creatives().insert(body=creative_body).execute() # Print the response. If the creative has been already reviewed, its status # and categories will be included in the response. - pretty_printer.pprint(creative) - except AccessTokenRefreshError: + pprint.pprint(creative) + except client.AccessTokenRefreshError: print ('The credentials have been revoked or expired, please re-run the ' 'application to re-authorize') diff --git a/samples/adexchangebuyer/update_account.py b/samples/adexchangebuyer/update_account.py index eaf17a9..eaadaf2 100644 --- a/samples/adexchangebuyer/update_account.py +++ b/samples/adexchangebuyer/update_account.py @@ -21,31 +21,29 @@ Tags: accounts.patch __author__ = 'david.t@google.com (David Torres)' +import argparse import pprint import sys -import gflags -from oauth2client.client import AccessTokenRefreshError -import sample_utils -# Declare command-line flags, and set them as required. -gflags.DEFINE_string('account_id', None, - 'The ID of the account to which submit the creative', - short_name='a') -gflags.MarkFlagAsRequired('account_id') -gflags.DEFINE_string('cookie_matching_url', None, - 'New cookie matching URL to set for the account ', - short_name='u') -gflags.MarkFlagAsRequired('cookie_matching_url') +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('account_id', type=int, + help='The ID of the account to which submit the creative') +argparser.add_argument('cookie_matching_url', + help='New cookie matching URL to set for the account ') def main(argv): - sample_utils.process_flags(argv) - account_id = gflags.FLAGS.account_id - cookie_matching_url = gflags.FLAGS.cookie_matching_url - pretty_printer = pprint.PrettyPrinter() - # Authenticate and construct service. - service = sample_utils.initialize_service() + service, flags = sample_tools.init( + argv, 'adexchangebuyer', 'v1.2', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/adexchange.buyer') + + account_id = flags.account_id + cookie_matching_url = flags.cookie_matching_url try: # Account information to be updated. @@ -55,8 +53,8 @@ def main(argv): } account = service.accounts().patch(id=account_id, body=account_body).execute() - pretty_printer.pprint(account) - except AccessTokenRefreshError: + pprint.pprint(account) + except client.AccessTokenRefreshError: print ('The credentials have been revoked or expired, please re-run the ' 'application to re-authorize')