2014-09-19 3 views
2

Я работаю с API Adwords, я уже могу загрузить отчеты, как: все ключевые слова с впечатлениями, Clics, Ctr, преобразования и т.д. ...Adwords апи отчет без загрузки

Проблема заключается в том, мне нужно показать этот отчет в нашем веб-инструменте, когда пользователь задает диапазон дат.

Теперь я делаю это: пользователь выбирает дату начала 01/09/2014 Дата окончания 15/09/2014, я вызываю Adwords Api, загружаю CSV, разбираю его, а затем показываю результаты на экране, но этот способ не является оптимальным, и я хотел бы знать, как вызывать API и получать результаты «на данный момент», получая XML или JSON без скачивания файла.

Возможно ли это?

Единственный способ, которым я нашел, - это вызов класса CampaignService .. получение всех кампаний, а затем для каждой кампании, призывающей AdgroupService для получения всех Adgroups, затем ключевых слов ... Это действительно непрактично.

Как я могу это сделать?

спасибо.

ответ

0

Да, вы можете получить XML без скачивания файла. Просто установите $path на Null при вызове ReportUtils::DownloadReport(), и он возвращает вам ответ, не сохраняя его в файле.

+0

Возможно, это работало в прошлом, но больше не работает. –

0

В библиотеке API AdWords (начиная с версии v201506) вы можете установить download_format в один из CSVFOREXCEL, CSV, TSV, XML, GZIPPED_CSV или GZIPPED_XML. К сожалению, он не поддерживает JSON, даже если вы попросите загрузить данные отчета (а не как файл).

1

Он появляется в последних версиях libary они создали функцию (getAsString()), так что мы можем достичь этого:

$reportDownloader = new ReportDownloader($session); 
$reportDownloadResult = $reportDownloader->downloadReport($reportDefinition); 

//Normal way of downloading to file 
//$reportDownloadResult->saveToFile($filePath); 
//printf("Report with name '%s' was downloaded to '%s'.\n", 
// $reportDefinition->getReportName(), $filePath); 

//New way by calling getAsString(); 
$reportAsString = $reportDownloadResult->getAsString(); 
echo $reportAsString; 

Старые предложения о переходе нуль как $ Filepath больше не будет работать.

Смежные вопросы