DFPからAPIとGoogleが提供するPHPライブラリ(https://github.com/googleads/googleads-php-lib/)を使用して、かなり基本的なレポートを取得しようとしています。 UIでクエリを作成し、APIからそのReportQueryをフェッチして実行してみました(https://developers.google.com/doubleclick-publishers/docs/reporting#retrieving_a_saved_reportquery)と、アドホッククエリを作成しています。すべてリクエストを作成しても問題ありません。クエリが大丈夫かどうかを検証することを意味するようです。ラインアイテムのリストを取得するなど、私は仕事の罰金をテストした他のAPIリクエストなどGoogle DFP API ReportServiceでエラーが発生していません。
次のように適切なコードは次のとおりです。
$statementBuilder = (new StatementBuilder())
->where('AD_UNIT_NAME like \'prebid_\'');
# Create report query.
$reportQuery = new ReportQuery();
$reportQuery->setDimensions([
Dimension::AD_UNIT_NAME,
Dimension::CUSTOM_CRITERIA,
Dimension::DATE
]);
$reportQuery->setColumns([
Column::TOTAL_INVENTORY_LEVEL_IMPRESSIONS,
Column::TOTAL_INVENTORY_LEVEL_WITHOUT_CPD_AVERAGE_ECPM
]);
$reportQuery->setStatement($statementBuilder->toStatement());
$reportQuery->setAdUnitView(ReportQueryAdUnitView::TOP_LEVEL);
$reportQuery->setDateRangeType(DateRangeType::YESTERDAY);
# Create report job.
$reportJob = new ReportJob();
$reportJob->setReportQuery($reportQuery);
# Run report job.
$reportJob = $reportService->runReportJob($reportJob);
# Create report downloader.
$reportDownloader = new ReportDownloader($reportService, $reportJob->getId(), POLL_TIME_SECONDS);
# Wait for the report to be ready.
$reportDownloader->waitForReportToFinish();
# Change to your file location.
$filePath = sprintf('%s.csv.gz', tempnam(sys_get_temp_dir(),
'delivery-report-'));
printf("Downloading report to %s ...\n", $filePath);
# Download the report.
$reportDownloader->downloadReport('CSV_DUMP', $filePath);
ここで私はAPIから取得したエラーメッセージです:
は、PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'Cannot download report 1834923393 because it has a status of FAILED.' in ~/test/vendor/googleads/googleads-php-lib/src/Google/AdsApi/Dfp/Util/v201611/ReportDownloader.php:146
Stack trace:
#0 ~/test/vendor/googleads/googleads-php-lib/src/Google/AdsApi/Dfp/Util/v201611/ReportDownloader.php(116): Google\AdsApi\Dfp\Util\v201611\ReportDownloader->getDownloadUrl('CSV_DUMP')
#1 ~/test/dfp/get_prebid_unit_data.php(85): Google\AdsApi\Dfp\Util\v201611\ReportDownloader->downloadReport('CSV_DUMP', '/tmp/delivery-r...')
#2 {main}
thrown in ~/test/vendor/googleads/googleads-php-lib/src/Google/AdsApi/Dfp/Util/v201611/ReportDownloader.php on line 146
機能コメントのみ[状態](https://github.com/googleads/googleads-php-lib/blob/5eea2f7fb65fd07f0413eb2e33bc2e7563c43078/src/Google/AdsApi/Dfp/Util/v201611/ReportDownloader.php# L112)、レポートが失敗したときに例外が発生するため、サービスが提供する追加ツールが必要になる場合があります。残念ながら、Googleのフォーラムで見つかることのあるものはすべて、仕事のタイムアウトになる可能性があります。/およびサポートされていないドキュメント(レポートが失敗した場合はレポの独自の例では、単に失敗したことを印刷します...)それが文書化されているので、APIから有用な失敗の理由を得ることができます。 – Jmills