我正在使用Adwords API,我已经可以下载以下报告:所有带有展示次数,陈词滥调,ctr,转化次数等的关键字......
问题是,当用户设置日期范围时,我需要在我们的网络工具上显示此报告。
现在我这样做:用户选择开始日期01/09/2014结束日期15/09/2014,我调用Adwords Api,下载CSV,解析它,然后在屏幕上显示结果,但是这个方式不是最优的,我想知道如何调用API并“获取结果”,获取XML或JSON而无需下载文件。
有可能吗?
我找到的唯一方法是调用CampaignService类..获取所有广告系列,然后为每个广告系列调用AdgroupService获取所有广告组,然后是关键字....这真的不切实际。
我该怎么做?
非常感谢。
答案 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);