2014-11-14 103 views
2

我已经订购了来自亚马逊卖家中心的此交易报告,因为无法从报告的API请求。 现在我正在尝试使用可正常工作的报告api来下载此报告,但现在我正在尝试将报告类型设置为“_GET_DATE_RANGE_FINANCIAL_TRANSACTION_DATA_”,以便仅为这种类型的报告获取请求的报告列表。 我使用下面的代码,但它给我这个错误如何设置亚马逊MWS报告api的报告类型

"Fatal error: Call to a member function getType() on a non-object in /AmazonAPI/ReportsAPIClass/src/MarketplaceWebService/Client.php on line 1605"

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

     //===========================GETS REPORT ID  
     $request_report_list = new MarketplaceWebService_Model_GetReportListRequest(); 
     $request_report_list->setMerchant($MERCHANT_ID); 
     $request_report_list->setAcknowledged(false); 
     $request_report_list->setMarketplace($MARKETPLACE_ID); 
     $request_report_list->setReportTypeList(array("TypeList" => "_GET_DATE_RANGE_FINANCIAL_TRANSACTION_DATA_")); 
+0

做工精细“的getType() “在行号。 1605在Client.php所以从foreach($ reportTypeList-> getType()作为$ typeIndex => $ type)到“foreach($ reportTypeList作为$ typeIndex => $ type)” –

回答

4

你必须创建一个类类型的类型串和删除后发送的参数

$TypeList = new MarketplaceWebService_Model_TypeList(); 
$TypeList->setType('_GET_DATE_RANGE_FINANCIAL_TRANSACTION_DATA_'); 
$request_report_list->setReportTypeList($TypeList); 
+0

删除“getType()”后线路号码。 1605在Client.php所以从foreach($ reportTypeList-> getType()作为$ typeIndex => $ type)到“foreach($ reportTypeList作为$ typeIndex => $ type)” –

+0

当然,但你正在改变官方库,在库中不是问题,问题是参数不正确,但是如果它有效的话不用担心。 – mameyugo

+0

哦谢谢@mameyugo我希望亚马逊开始在他们的API上开发更好的文档。 –