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