如何在不下载文件的情况下生成报告$reportQuery = 'SELECT CampaignId,CampaignName, Impressions, Clicks, Ctr , Cost '
. ' FROM CAMPAIGN_PERFORMANCE_REPORT '
. ' WHERE CampaignId = '.$campaignId.' DURING '.$date.','.$date;
// Download report.
ReportUtils::DownloadReportWithAwql($reportQuery, $filePath, $user,$reportFormat, $options);
$dataArray =file($filePath);
(例如只显示结果)。
这实际上就是我做的事情:
{{1}}
我下载文件,然后从数据中读取以显示它。
答案 0 :(得分:3)
Actualy我没有找到方法,除了我生成该文件然后我从它读取并使用该结果:
$reportQuery = 'SELECT CampaignId,CampaignName, Impressions, Clicks, Ctr , ConversionRate '
. ' FROM CAMPAIGN_PERFORMANCE_REPORT '
. ' WHERE CampaignId = '.$id.' DURING '.$date.','.$date;
// Download report.
ReportUtils::DownloadReportWithAwql($reportQuery, $filePath, $user,$reportFormat, $options);
$dataArray =file($filePath);
foreach ($dataArray as $value) {
$data = explode(",", $value);
$resultat[$i-1]['jours'] = $date;
$resultat[$i-1]['impressions'] = $data[2];
$resultat[$i-1]['clicks'] = $data[3];
$resultat[$i-1]['taux_click'] = $data[4];
$resultat[$i-1]['taux_conversion'] = $data[5];
}
echo json_encode($resultat);
希望它有所帮助。
答案 1 :(得分:0)
一天后,我找到了解决方案:
在lib的源代码中, Utils / ReportUtils.php 的DownloadReport方法说:
下载现有报告定义的新实例。如果指定了path参数,它将被下载到该路径的文件中,否则它将被下载到内存中并作为字符串返回。
您可以将NULL设置为路径并使用返回值
$filePath = null;
$stringOfResult = $reportUtils->DownloadReport($reportDefinition, $filePath, $user, $options);
//now you can parse the result