#!/usr/bin/python2.2
#
# Copyright 2006, Google Inc. All Rights Reserved.
#######################################################################
# Sample code to generate an AFC aggregate report through AdSense API #
#######################################################################
import SOAPpy
server = "https://www.google.com"
dev_email = "REPLACE WITH DEVELOPER'S EMAIL"
dev_password = "REPLACE WITH DEVELOPER'S PASSWORD"
client_id = "partner-pub-REPLACE WITH CLIENT ID"
# Set headers
headers = SOAPpy.Types.headerType()
headers.developer_email = dev_email
headers.developer_password = dev_password
headers.client_id = client_id
# Set up the ReportService connection.
service = SOAPpy.SOAPProxy(
server + "/api/adsense/v2/ReportService",
header=headers)
# To view xml request/response set service.config.debug = 1
service.config.debug = 0
# Set up the date range.
date_range_template = """
%s
%s
%s
%s"""
date_range = date_range_template % ('2005-11-11T08:00:00.000Z',
'2006-02-02T08:00:00.000Z', 'false', 'AllTime')
# Set up the report.
report_template = """
%s
%s
%s"""
report = report_template % ('Page', date_range, 'CSV_Excel')
report = SOAPpy.Types.untypedType(report)
report._setAttr(
'xmlns:ns4',
'http://www.google.com/api/adsense/v2')
report._setAttr('xsi:type', 'ns4:AFCAggregateReport')
# Send the request and print the response.
response = service.generateReport(report)
print 'Column count:', response['columnCount']
print 'Row count:', response['rowCount']
print 'Data:', response['data'].encode('utf8')