- Notifications
You must be signed in to change notification settings - Fork 977
Closed
Description
Hi,
I'm following a very standard approach from the examples and I'm able to successfully get standard adwords account's data. My code looks like this:
def update_adwords_campaigns(user): start_date = 'LAST_30_DAYS' creds = AdWordsCredentials.objects.get(user=user) oauth2_client = oauth2.GoogleRefreshTokenClient(settings.GOOGLE_CLIENT_ID, settings.GOOGLE_CLIENT_SECRET, creds.refresh_token) adwords_client = adwords.AdWordsClient(settings.ADWORDS_DEV_TOKEN, oauth2_client) campaign_service = adwords_client.GetService('CampaignService', version='v201708') customers = adwords_client.GetService('CustomerService').getCustomers()
for customer in customers: client_customer_id = str(customer.customerId) print(client_customer_id) ## Get current USER oauth2_client = oauth2.GoogleRefreshTokenClient(settings.GOOGLE_CLIENT_ID, settings.GOOGLE_CLIENT_SECRET, creds.refresh_token) adwords_client = adwords.AdWordsClient(settings.ADWORDS_DEV_TOKEN, oauth2_client, 'user_agent', client_customer_id=client_customer_id) campaign_service = adwords_client.GetService('CampaignService', version='v201708') PAGE_SIZE = 100 # Construct selector and get all campaigns. offset = 0 selector = { 'fields': ['Id', 'Name', 'Status'], 'paging': { 'startIndex': str(offset), 'numberResults': str(PAGE_SIZE) } } more_pages = True while more_pages: page = campaign_service.get(selector) print(page) # Display results. if 'entries' in page: report_downloader = adwords_client.GetReportDownloader(version='v201708') report = { 'reportName': 'AdWords Report', etc etc} abc = report_downloader.DownloadReportAsString(report, skip_report_header=True, skip_column_header=False,skip_report_summary=True) offset += PAGE_SIZE selector['paging']['startIndex'] = str(offset) more_pages = offset < int(page['totalNumEntries']) time.sleep(1)
However this doesn't return any campaigns for manager accounts. How can I get their campaigns & metrics? Also, why do I need the time.sleep(1)
it makes my code incredibly slow. Is there a way to avoid it. Thanks?
Metadata
Metadata
Assignees
Labels
No labels