Я использовал пример, найденный здесь: 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. Никаких решений для предыдущих версий, пожалуйста.






К сожалению, библиотека 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();
как насчет конкретной даты в прошлом?
@ silent_coder14, Вы бы сделали дату начала такой же, как и дату окончания. На 25 ноября 2018 г .: $startDate = date('20181125');$endDate = $startDate;
Спасибо! Работает как шарм!