代码之家  ›  专栏  ›  技术社区  ›  LatentDenis

php adwords api v201809-如何使用ReportQueryBuilder设置自定义日期?

  •  0
  • LatentDenis  · 技术社区  · 7 年前

    我用了这里的例子: 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 回复  |  直到 7 年前
        1
  •  1
  •   Solomon A.    7 年前

    不幸的是,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();
    
    推荐文章