Update AdSense Management API samples to V1.2.
Reviewed in https://codereview.appspot.com/7305086/.
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 @@
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 @@
"""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