GetReport

作成されたレポートをダウンロードする。

MWSレポート作成チュートリアルの「事前準備」ができてること前提。

リクエストパラメータ作成

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;
}
 ?>
※注意!!
大量のデータを含むレポートで、上記例をそのまま試すとえらいことになります。
好奇心が旺盛な方のみお試しください。
結果について私は責任持てません・・・。


タグ:

MWS
最終更新:2011年11月02日 09:40
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。