首页 > 解决方案 > 将变量传递到 ReportQueryBuilder - GoogleAdsAPI

问题描述

我正在使用GoogleAdsApi - 下面的查询效果很好。:)

report_query = (adwords.ReportQueryBuilder()
                  .Select(
                    'Date','AdGroupId','AdGroupName','CampaignId','CampaignName',           
                          'Impressions','Clicks',
                          'Cost'
                          ,'Conversions','ConversionRate','Ctr','AverageCpc','CostPerConversion'
                          ) 
                  .From('CRITERIA_PERFORMANCE_REPORT')
                  .Where('Status').In('ENABLED', 
                  'PAUSED')
                  .During('20200101,20210331')
                  .Build())

我想通过创建一个日期变量(我在下面列出)和可能更多的变量让我们说字段来使这个函数更加动态。当我尝试创建和传递变量时,它不起作用

fields = "'Date','AdGroupId','AdGroupName','CampaignId','CampaignName','Impressions','Clicks','Cost','Conversions','ConversionRate','Ctr','AverageCpc','CostPerConversion'"



today = date.today()
yesterday = today - timedelta(days = 1)
date_filter = f'\'{yesterday.strftime("%Y%m%d")},{today.strftime("%Y%m%d")}\''

 report_query = (adwords.ReportQueryBuilder()
                      .Select(
                       fields
                              ) 
                      .From('CRITERIA_PERFORMANCE_REPORT')
                      .Where('Status').In('ENABLED', 
                      'PAUSED')
                      .During(date_filter)
                      .Build())

我收到以下错误:

googleads.errors.AdWordsReportBadRequestError: Type: QueryError.INVALID_DURING_CLAUSE

即使当我将日期变量的打印值而不是日期变量传递给.During时,它仍然有效。所以有点迷茫。

标签: pythongoogle-ads-api

解决方案


推荐阅读