如何在不下载文件的情况下使用Google adwords api生成报告?

时间:2015-12-07 17:48:48

标签: google-adwords adwords-api-v201109

如何在不下载文件的情况下生成报告$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}}

我下载文件,然后从数据中读取以显示它。

2 个答案:

答案 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