Update AdSense Management API samples to V1.2.

Reviewed in https://codereview.appspot.com/7305086/.
This commit is contained in:
Joe Gregorio
2013-02-13 15:31:41 -05:00
parent 1dc5dc8e86
commit 238b0d7660
4 changed files with 140 additions and 11 deletions

View File

@@ -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'],

View File

@@ -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)

View File

@@ -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)

View File

@@ -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