My favorites | Sign in
Google
             
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/usr/bin/python
#
# Copyright 2009, 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 code sample creates a new website given an existing ad group. To
create an ad group, you can run add_ad_group.py."""

import SOAPpy


# Provide AdWords login information.
email = 'INSERT_LOGIN_EMAIL_HERE'
password = 'INSERT_PASSWORD_HERE'
client_email = 'INSERT_CLIENT_LOGIN_EMAIL_HERE'
useragent = 'INSERT_COMPANY_NAME: AdWords API Python Sample Code'
developer_token = 'INSERT_DEVELOPER_TOKEN_HERE'
application_token = 'INSERT_APPLICATION_TOKEN_HERE'

# Define SOAP headers.
headers = SOAPpy.Types.headerType()
headers.email = email
headers.password = password
headers.clientEmail = client_email
headers.useragent = useragent
headers.developerToken = developer_token
headers.applicationToken = application_token

# Set up service connection. To view XML request/response, change value of
# criterion_service.config.debug to 1. To send requests to production
# environment, replace "sandbox.google.com" with "adwords.google.com".
namespace = 'https://sandbox.google.com/api/adwords/v13'
criterion_service = SOAPpy.SOAPProxy(namespace + '/CriterionService',
header=headers)
criterion_service.config.debug = 0

# Create new website structure.
ad_group_id = 'INSERT_AD_GROUP_ID_HERE'
website = {
'adGroupId': SOAPpy.Types.untypedType(ad_group_id),
'criterionType': SOAPpy.Types.untypedType('Website'),
'url': 'example.com'
}

# Check new website for policy violations before adding it.
language_target = {'languages': ['en']}
geo_target = {'countryTargets': {'countries': ['US']}}
errors = criterion_service.checkCriteria([website], language_target, geo_target)

# Convert to a list if we get back a single object.
if len(errors) > 0 and not isinstance(errors, list):
errors = [errors]

# Add website if there are no policy violations.
if len(errors) == 0:
criteria = criterion_service.addCriteria([website])

# Convert to a list if we get back a single object.
if len(criteria) > 0 and not isinstance(criteria, list):
criteria = [criteria]

# Display new website.
for criterion in criteria:
print 'New website with url "%s" and id "%s" was created.' % \
(criterion['url'], criterion['id'])
else:
print 'New website was not created due to the following policy violations:'
for error in errors:
print ' Detail: %s\nisExemptable: %s' % \
(error['detail'], error['isExemptable'])
print
Show details Hide details

Change log

r5 by api.sgrinberg on Mar 05, 2009   Diff
Release 2.0.0:
- Removed support for v12. Set v13 as
default version.
Go to: 
Project members, sign in to write a code review

Older revisions

r4 by api.sgrinberg on Nov 05, 2008   Diff
Release 1.0.1:
- Fixed SOAP types issues.
r3 by api.sgrinberg on Aug 12, 2008   Diff
1.0.0:
- Removed support for v11 and set v12
as default API version.
r2 by api.sgrinberg on Mar 11, 2008   Diff
Initial release of the AdWords API
Python Sample Code.
All revisions of this file

File info

Size: 2999 bytes, 82 lines

File properties

svn:executable
*