作成されたレポートをダウンロードする。
リクエストパラメータ作成
MarketplaceWebService_Model_GetReportRequestオブジェクトを作成する。
$request = new MarketplaceWebService_Model_GetReportRequest();
$request->setMarketplace(MARKETPLACE_ID);
$request->setMerchant(MERCHANT_ID);
$request->setReportId('123456789');
$request->setReport(@fopen('php://memory', 'rw+'));
setReportId()の引数は
GetReportListで取得したReportId。
ReportRequestIdじゃないので注意!!(何度間違えて無駄な時間を費やしたことか・・・)
リクエストを送信
$response = $service->getReport($request);
$service はMarketplaceWebService_Clientオブジェクト。
レスポンスを確認
親切なことに、MD5ハッシュ値を教えてくれます。
if ($response->isSetGetReportResult()) {
$getReportResult = $response->getGetReportResult();
if ($getReportResult->isSetContentMd5()) {
$contentMd5 = $getReportResult->getContentMd5();
}
echo (stream_get_contents($request->getReport()) . "\n");
}
例)
<?php
require_once('config.php');
$serviceUrl = "https://mws.amazonservices.jp";
$config = array (
'ServiceURL' => $serviceUrl,
'ProxyHost' => null,
'ProxyPort' => -1,
'MaxErrorRetry' => 3,
);
$service = new MarketplaceWebService_Client(
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
$config,
APPLICATION_NAME,
APPLICATION_VERSION
);
$reportId = '123456789';
$request = new MarketplaceWebService_Model_GetReportRequest();
$request->setMarketplace(MARKETPLACE_ID);
$request->setMerchant(MERCHANT_ID);
$request->setReport(@fopen('php://memory', 'rw+'));
$request->setReportId($reportId);
try {
$response = $service->getReport($request);
echo (stream_get_contents($request->getReport()) . "\n");
} catch (MarketplaceWebService_Exception $ex) {
echo $ex;
}
?>
※注意!!
大量のデータを含むレポートで、上記例をそのまま試すとえらいことになります。
好奇心が旺盛な方のみお試しください。
結果について私は責任持てません・・・。
最終更新:2011年11月02日 09:40