#!/usr/bin/python2.2
#
# Copyright 2006, Google Inc. All Rights Reserved.
#####################################################################
# Sample code to add a generate ad code snippet through Adsense API #
#####################################################################
import SOAPpy
server = "https://sandbox.google.com"
dev_email = "REPLACE WITH DEVELOPER EMAIL"
dev_password = "REPLACE WITH DEVELOPER PASSWORD"
client_id = "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 service connection
service = SOAPpy.SOAPProxy(
server + "/api/adsense/v3/AccountService",
namespace="http://www.google.com/api/adsense/v3",
header=headers)
# To view xml request/response set service.config.debug = 1
service.config.debug = 0
syn_service_type = SOAPpy.Types.structType(name="synServiceTypes")
syn_service_type._addItem(name="value",value="ContentAds")
# Get the Syndication ID
# Might throw a soap exception on user input or error upon trying to connect
response = service.getSyndicationService(syn_service_type)
syn_id = response["id"]
print "syn id :", syn_id
print
# Set another service connetion
service = SOAPpy.SOAPProxy(
server + "/api/adsense/v3/AdSenseForContentService",
namespace="http://www.google.com/api/adsense/v3",
header=headers)
service.config.debug = 0
# Set up the ad style
ad_style_template = """
%s
%s
%s
%s
%s
%s
"""
ad_style = ad_style_template % ('#FFFFFF', '#0000FF', 'demoStyle',
'#00FF00', '#FF0000', '#FFFF00')
ad_style = SOAPpy.Types.untypedType(name="adStyle",data=ad_style)
#ad_style._setAttr(
# 'xmlns:impl',
# 'http://www.google.com/api/adsense/v3')
#ad_style._setAttr('xsi:type', 'impl:AdStyle')
# Set up other parameters
syn_service_id = SOAPpy.Types.untypedType(name="synServiceId",data=syn_id)
ad_unit_type = SOAPpy.Types.structType(name="adUnitType")
ad_unit_type._addItem(name="value",value="TextOnly")
layout = SOAPpy.Types.structType(name="adLayout")
layout._addItem(name="value",value="728x90")
alternate = SOAPpy.Types.untypedType(name="alternate",data="#FFFFFF")
is_framed_page = SOAPpy.Types.untypedType(name="isFramedPage",data="False")
channel_name = SOAPpy.Types.untypedType(name="channelName",data="")
corner_styles = SOAPpy.Types.structType(name="cornerStyles")
corner_styles._addItem(name="value",value="DEFAULT")
# Generate ad code, might throw a soap exception
# on user input or error upon trying to connect
response = service.generateAdCode(syn_service_id, ad_style, ad_unit_type,
layout, alternate, is_framed_page,
channel_name,corner_styles)
print "Ad code snippet :"
print response