2014-09-19 113 views
2

我與AdWords API的工作,我已經可以下載報告,如:有印象,CLICS,點擊率,轉化率等所有關鍵字...AdWords API報告

的問題是,我需要證明當用戶設置日期範圍時,這個報告在我們的網絡工具上。

現在我正在這樣做:用戶選擇開始日期01/09/2014結束日期15/09/2014,我打電話給Adwords Api,下載CSV,解析它,然後在屏幕上顯示結果,但這種方式不是最優的,我想知道如何調用API並獲得「目前」的結果,獲取XML或JSON而不下載文件。

有沒有可能?

我發現的唯一方法是調用CampaignService類..獲取所有廣告系列,然後爲每個調用AdgroupService的廣告系列獲取所有廣告組,然後使用關鍵字....這實際上是不切實際的。

我該怎麼辦?

非常感謝。

回答

0

是的,您可以在不下載文件的情況下獲得XML。當撥打ReportUtils::DownloadReport()時,只需將$path設置爲Null,它將返回您的響應而不將其保存到文件。

+0

這可能在過去有效,但現在不行了。 – 2017-03-06 19:10:13

0

AdWords API庫(截至v201506)允許您將download_format設置爲CSVFOREXCEL,CSV,TSV,XML,GZIPPED_CSV或GZIPPED_XML之一。不幸的是,它不支持JSON,即使你要求下載報告數據(而不是文件)。

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作爲$文件路徑不再起作用老的建議。

相關問題