from googleads import ad_manager from googleads import oauth2 from googleads import errors import datetime #import pandas as pd import sys # Initialize the GoogleRefreshTokenClient using the credentials you received # in the earlier steps. oauth2_client = oauth2.GoogleServiceAccountClient("/home/analytics_co/dci-latam-googleads-dlm-prod-387ddcb4f163.json", oauth2.GetAPIScope('ad_manager')) # Initialize the Ad Manager client. ad_manager_client = ad_manager.AdManagerClient(oauth2_client, "dci-latam-goglads-dlm") networks = ad_manager_client.GetService('NetworkService').getAllNetworks() for network in networks: print('Network with network code "%s" and display name "%s" was found.' % (network['networkCode'], network['displayName'])) def output(client, days): # Initialize a DataDownloader. report_downloader = client.GetDataDownloader(version='v202211') # Create report job. report_job = { 'reportQuery': { 'dimensions': ['AD_UNIT_NAME', 'ORDER_NAME', 'LINE_ITEM_NAME', 'COUNTRY_NAME', 'CREATIVE_TYPE', 'CREATIVE_SIZE', 'CLASSIFIED_BRAND_ID', 'CLASSIFIED_BRAND_NAME'], 'adUnitView': 'HIERARCHICAL', 'columns': ['AD_SERVER_IMPRESSIONS', 'VIDEO_VIEWERSHIP_START', 'TOTAL_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS', 'TOTAL_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS', 'VIDEO_INTERACTION_VIDEO_SKIPS', 'VIDEO_VIEWERSHIP_FIRST_QUARTILE', 'VIDEO_VIEWERSHIP_MIDPOINT', 'VIDEO_VIEWERSHIP_THIRD_QUARTILE', 'VIDEO_VIEWERSHIP_COMPLETE', 'AD_SERVER_CLICKS', 'VIDEO_VIEWERSHIP_SKIP_BUTTON_SHOWN'], 'dateRangeType': 'CUSTOM_DATE', 'startDate': datetime.date.today() - datetime.timedelta(days=days), 'endDate': datetime.date.today() - datetime.timedelta(days=1) } } 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) # dd/mm/YY today = datetime.date.today() today = today.strftime("%Y-%m-%d") # Change to your preferred export format. export_format = 'CSV_DUMP' # report_file = tempfile.NamedTemporaryFile(suffix='.csv', delete=False) report_file = open("googleAdManager_" + str(days) + "d_" + today + ".csv", "wb") # Download report data. report_downloader.DownloadReportToFile( report_job_id, export_format, report_file) report_file.close() #df = pd.read_csv('googleAdManager_'+str(days)+"d_"+ today + ".csv", encoding = 'utf-8') #df['extraction_date'] = today #df.to_csv('googleAdManager_'+str(days)+"d_"+today+ ".csv", index = False) def googleAdManagerData(number_of_days): output(ad_manager_client.LoadFromStorage(), number_of_days) if __name__ == '__main__': param1 = int(sys.argv[1]) googleAdManagerData(param1)