diff --git a/samples/adsense/generate_report.py b/samples/adsense/generate_report.py index f699a6d..7edf54a 100644 --- a/samples/adsense/generate_report.py +++ b/samples/adsense/generate_report.py @@ -32,28 +32,38 @@ import sample_utils gflags.DEFINE_string('ad_client_id', None, 'The ID of the ad client for which to generate a report', short_name='c') -gflags.MarkFlagAsRequired('ad_client_id') +gflags.DEFINE_string('report_id', None, + 'The ID of the saved report to generate', + short_name='r') def main(argv): # Process flags and read their values. sample_utils.process_flags(argv) ad_client_id = gflags.FLAGS.ad_client_id + saved_report_id = gflags.FLAGS.report_id # Authenticate and construct service. service = sample_utils.initialize_service() try: # Retrieve report. - result = service.reports().generate( - startDate='2011-01-01', endDate='2011-08-31', - filter=['AD_CLIENT_ID==' + ad_client_id], - metric=['PAGE_VIEWS', 'AD_REQUESTS', 'AD_REQUESTS_COVERAGE', - 'CLICKS', 'AD_REQUESTS_CTR', 'COST_PER_CLICK', - 'AD_REQUESTS_RPM', 'EARNINGS'], - dimension=['DATE'], - sort=['+DATE']).execute() - + if saved_report_id: + result = service.reports().saved().generate( + savedReportId=saved_report_id).execute() + elif ad_client_id: + result = service.reports().generate( + startDate='2011-01-01', endDate='2011-08-31', + filter=['AD_CLIENT_ID==' + ad_client_id], + metric=['PAGE_VIEWS', 'AD_REQUESTS', 'AD_REQUESTS_COVERAGE', + 'CLICKS', 'AD_REQUESTS_CTR', 'COST_PER_CLICK', + 'AD_REQUESTS_RPM', 'EARNINGS'], + dimension=['DATE'], + sort=['+DATE']).execute() + else: + print ('Specify ad client id or saved report id!\nUsage: %s ARGS\\n%s' + % (sys.argv[0], gflags.FLAGS)) + sys.exit(1) # Display headers. for header in result['headers']: print '%25s' % header['name'], diff --git a/samples/adsense/get_all_saved_ad_styles.py b/samples/adsense/get_all_saved_ad_styles.py new file mode 100644 index 0000000..395e342 --- /dev/null +++ b/samples/adsense/get_all_saved_ad_styles.py @@ -0,0 +1,63 @@ +#!/usr/bin/python +# +# Copyright 2011 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 gets all the saved ad styles for the logged in user's default +account. + +Tags: savedadstyles.list +""" + +__author__ = 'jalc@google.com (Jose Alcerreca)' + +import sys +from oauth2client.client import AccessTokenRefreshError +import sample_utils + +MAX_PAGE_SIZE = 50 + + +def main(argv): + sample_utils.process_flags(argv) + + # Authenticate and construct service. + service = sample_utils.initialize_service() + + try: + # Retrieve ad client list in pages and display data as we receive it. + request = service.savedadstyles().list(maxResults=MAX_PAGE_SIZE) + + while request is not None: + result = request.execute() + saved_ad_styles = result['items'] + for saved_ad_style in saved_ad_styles: + print ('Saved ad style with ID "%s" and background color "#%s" was ' + 'found.' + % (saved_ad_style['id'], + saved_ad_style['adStyle']['colors']['background'])) + if ('corners' in saved_ad_style['adStyle'] + and 'font' in saved_ad_style['adStyle']): + print ('It has "%s" corners and a "%s" size font.' % + (saved_ad_style['adStyle']['corners'], + saved_ad_style['adStyle']['font']['size'])) + + request = service.savedadstyles().list_next(request, result) + + except AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) diff --git a/samples/adsense/get_all_saved_reports.py b/samples/adsense/get_all_saved_reports.py new file mode 100644 index 0000000..93747f2 --- /dev/null +++ b/samples/adsense/get_all_saved_reports.py @@ -0,0 +1,56 @@ +#!/usr/bin/python +# +# Copyright 2011 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 gets all the saved reports for the logged +in user's default account. + +Tags: savedreports.list +""" + +__author__ = 'jalc@google.com (Jose Alcerreca)' + +import sys +from oauth2client.client import AccessTokenRefreshError +import sample_utils + +MAX_PAGE_SIZE = 50 + + +def main(argv): + sample_utils.process_flags(argv) + + # Authenticate and construct service. + service = sample_utils.initialize_service() + + try: + # Retrieve ad client list in pages and display data as we receive it. + request = service.reports().saved().list(maxResults=MAX_PAGE_SIZE) + + while request is not None: + result = request.execute() + saved_reports = result['items'] + for saved_report in saved_reports: + print ('Saved ad style with ID "%s" and name "%s" was found.' + % (saved_report['id'], saved_report['name'])) + + request = service.reports().saved().list_next(request, result) + + except AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) diff --git a/samples/adsense/sample_utils.py b/samples/adsense/sample_utils.py index 25bd3e9..1a03399 100644 --- a/samples/adsense/sample_utils.py +++ b/samples/adsense/sample_utils.py @@ -100,7 +100,7 @@ def retrieve_service(http): """Retrieves an AdSense Management API service via the discovery service.""" # Construct a service object via the discovery service. - service = build("adsense", "v1.1", http=http) + service = build("adsense", "v1.2", http=http) return service