Google has the following docs for the ad manager here. Unfortunately their example:
# Set the start and end dates of the report to run (past 8 days).
end_date = date.today()
start_date = end_date - timedelta(days=8)
# Create report job.
report_job = {
'reportQuery': {
'dimensions': ['LINE_ITEM_ID', 'LINE_ITEM_NAME'],
'columns': ['AD_SERVER_IMPRESSIONS', 'AD_SERVER_CLICKS',
'AD_SERVER_CTR', 'AD_SERVER_CPM_AND_CPC_REVENUE',
'AD_SERVER_WITHOUT_CPD_AVERAGE_ECPM'],
'dateRangeType': 'CUSTOM_DATE',
'startDate': start_date,
'endDate': end_date
}
}
# Initialize a DataDownloader.
report_downloader = client.GetDataDownloader(version='v202008')
try:
# Run the report and wait for it to finish.
report_job_id = report_downloader.WaitForReport(report_job)
except errors.AdManagerReportError as e:
print('Failed to generate report. Error was: %s' % e)
with tempfile.NamedTemporaryFile(
suffix='.csv.gz', mode='wb', delete=False) as report_file:
# Download report data.
report_downloader.DownloadReportToFile(
report_job_id, 'CSV_DUMP', report_file)
yields a KeyError: 'date'
on the report_job_id
line. My authorization is correct and I can make other calls with my client. My question is, how does one need to update report_job
in order for the example to work. I tried changing 'dateRangeType'
however this states it must be 'CUSTOM_DATE'.
Apparently the example is wrong and the proper syntax for the example is:
'startDate': {
'year': 2021,
'month': 3,
'day': 1
},
https://github.com/googleads/googleads-python-lib/issues/475#issuecomment-821209008