Adwords api报告无需下载

时间:2014-09-19 06:45:08

标签: api criteria-api google-adwords adwords-apiv201402

我正在使用Adwords API,我已经可以下载以下报告:所有带有展示次数,陈词滥调,ctr,转化次数等的关键字......

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

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

有可能吗?

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

我该怎么做?

非常感谢。

3 个答案:

答案 0 :(得分: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作为$ filePath传递的旧建议不再起作用。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

$reportAsString = $reportDownloadResult->getAsString();
$xml = simplexml_load_string($reportAsString);