2014-09-19 84 views
2

我与AdWords API的工作,我已经可以下载报告,如:有印象,CLICS,点击率,转化率等所有关键字...AdWords API报告

的问题是,我需要证明当用户设置日期范围时,这个报告在我们的网络工具上。

现在我正在这样做:用户选择开始日期01/09/2014结束日期15/09/2014,我打电话给Adwords Api,下载CSV,解析它,然后在屏幕上显示结果,但这种方式不是最优的,我想知道如何调用API并获得“目前”的结果,获取XML或JSON而不下载文件。

有没有可能?

我发现的唯一方法是调用CampaignService类..获取所有广告系列,然后为每个调用AdgroupService的广告系列获取所有广告组,然后使用关键字....这实际上是不切实际的。

我该怎么办?

非常感谢。

回答

0

是的,您可以在不下载文件的情况下获得XML。当拨打ReportUtils::DownloadReport()时,只需将$path设置为Null,它将返回您的响应而不将其保存到文件。

+0

这可能在过去有效,但现在不行了。 – 2017-03-06 19:10:13

0

AdWords API库(截至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; 

约传递null作为$文件路径不再起作用老的建议。

相关问题