Hi,
I have a MCC account with a Basic Access developer token.
I can successfuly create objects such as the following:
from googleads import adwords
import logging
adwords_client = adwords.AdWordsClient.LoadFromStorage()
adwords_client
Out[59]: <googleads.adwords.AdWordsClient at 0xabfbe70>
This is my googlead.yaml file:
adwords:
developer_token: my MCC developer token
user_agent: Adwords Manager
client_customer_id: Adwords ID of the MCC account
client_id: The client_id in the Google Console credentials for my project
client_secret: the client secret in the Google Console credentials for my
project
refresh_token: the refresh token used when running
generate_refresh_token.py from the command line and retrieving the code by
using an Icognito tab and signing in to retrieve the refresh token with my
MCC administrator email address and password.
However, when i try to retrieve data via the API, I receive the following
error:
WebFault: Server raised fault: '[AuthorizationError.USER_PERMISSION_DENIED
@ ; trigger:'<null>']'
I have included an example script below the body text, down to the line
that throws the error. Could you please help me understand what else is
needed to successfully execute queries to the API?
from googleads import adwords
PAGE_SIZE = 500
def DisplayAccountTree(account, accounts, links, depth=0):
"""Displays an account tree.
Args:
account: dict The account to display.
accounts: dict Map from customerId to account.
links: dict Map from customerId to child links.
depth: int Depth of the current account in the tree.
"""
prefix = '-' * depth * 2
print '%s%s, %s' % (prefix, account['customerId'], account['name'])
if account['customerId'] in links:
for child_link in links[account['customerId']]:
child_account = accounts[child_link['clientCustomerId']]
DisplayAccountTree(child_account, accounts, links, depth + 1)
def main(client):
# Initialize appropriate service.
managed_customer_service = client.GetService(
'ManagedCustomerService', version='v201603')
# Construct selector to get all accounts.
offset = 0
selector = {
'fields': ['CustomerId', 'Name'],
'paging': {
'startIndex': str(offset),
'numberResults': str(PAGE_SIZE)
}
}
more_pages = True
accounts = {}
child_links = {}
parent_links = {}
root_account = None
while more_pages:
# Get serviced account graph.
page = managed_customer_service.get(selector)
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit
https://groups.google.com/d/msgid/adwords-api/47994697-56f9-41d0-a9ef-44f94a2b9268%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.