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

How can I generate report using Google adwords api without downloading the file?

如何在不下载文件的情况下生成报告 CAMPAIGN_PERFORMANCE_REPORT(例如只显示结果)。 这实际上是我所做的:

$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);

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

实际上我没有找到其他方法,只是生成该文件然后从中读取并使用该结果:

$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);

希望对您有所帮助。

一天后我找到了解决方案:

在 lib 的源代码中 Utils/ReportUtils.php 的方法 DownloadReport 说:

下载现有报表定义的新实例。如果指定了路径参数,它将被下载到该路径的文件中,否则它将被下载到内存中并作为字符串 returned。

您可以将 NULL 设置为路径 并使用 return 值

$filePath = null;
$stringOfResult = $reportUtils->DownloadReport($reportDefinition, $filePath, $user, $options);

//now you can parse the result