PHP AdWords API v201809-如何使用ReportQueryBuilder设置CUSTOM_DATE?

时间:2019-01-04 14:38:22

标签: php google-adwords

我使用了以下示例:https://developers.google.com/adwords/api/docs/samples/php/reporting#download-a-criteria-performance-report-with-awql

我的问题是引用使用ReportQueryBuilder构建查询的代码部分。我如何在此处设置自定义日期:

$query = (new ReportQueryBuilder())
    ->select([
        'CampaignId',
        'AdGroupId',
        'Id',
        'Criteria',
        'CriteriaType',
        'Impressions',
        'Clicks',
        'Cost'
    ])
    ->from(ReportDefinitionReportType::CRITERIA_PERFORMANCE_REPORT)
    ->where('Status')->in(['ENABLED', 'PAUSED'])
    ->duringDateRange(ReportDefinitionDateRangeType::LAST_7_DAYS)
    ->build();

搜索了如何继续之后,我发现有必要将duringDateRange行更改为:

->duringDateRange(ReportDefinitionDateRangeType::CUSTOM_DATE)

但是我应该把实际的日期范围放在哪里,以什么格式显示?

注意-我正在使用AdWords API v201809库。请没有以前的版本解决方案。

1 个答案:

答案 0 :(得分:1)

不幸的是,php v201809库的实现有所不同。要解决此问题,请将duringDateRange(ReportDefinitionDateRangeType::LAST_7_DAYS)调用替换为during($startDate, $endDate)

您的函数将如下所示:

$startDate = date('Ymd', strtotime('2 days ago'));
$endDate = date('Ymd', strtotime('3 days ago'));

$query = (new ReportQueryBuilder())
    ->select([
        'CampaignId',
        'AdGroupId',
        'Id',
        'Criteria',
        'CriteriaType',
        'Impressions',
        'Clicks',
        'Cost'
    ])
    ->from(ReportDefinitionReportType::CRITERIA_PERFORMANCE_REPORT)
    ->where('Status')->in(['ENABLED', 'PAUSED'])
    ->during($startDate, $endDate)
    ->build();