我正在尝试创建一个报告,以便可以批量导入产品。我现在面临的问题是,无论我做了什么,总是得到无效的输入错误。这似乎非常非常模糊的错误信息,我已经检查了issue在这里和类似的一次,但不幸的是没有解决方案的工作。
所以如果你检查下面收到的来自sp-api的错误
{
"notifications": [],
"text": "{\"message\":\"[400] [{\\\"code\\\":\\\"InvalidInput\\\",\\\"message\\\":\\\"Could not match input arguments\\\"}]\",\"success\":false}"
}
你会注意到,我的代码中似乎有一个关于数据类型的错误(正如我从错误中理解的那样),但我已经确定了很多次的数据类型,即使我把数据写为字符串[],但老实说,这花了太多时间。请找到我的密码
$config = new Configuration([
"lwaClientId" => $account_data['lwa_client_id'],
"lwaClientSecret" => $account_data['lwa_client_secret'],
"lwaRefreshToken" => $account_data['lwa_refresh_token'],
"awsAccessKeyId" => $account_data['aws_access_key'],
"awsSecretAccessKey" => $account_data['aws_secret_key'],
"endpoint" => SellingPartnerApi\Endpoint::NA ,
]);
$apiInstance = new SellingPartnerApi\Api\ReportsApi($config);
$body = new SellingPartnerApi\Model\Reports\CreateReportSpecification([
'marketplace_ids' => [$merchant_data['marketplace_ids']],
'report_type' => ReportType::GET_MERCHANT_LISTINGS_ALL_DATA['name'],
]);
try{
$report_id = $apiInstance->createReport($body);
}catch(Exception $e){
return array("message"=>$e->getMessage(),'success'=>false);
}
顺便说一句,我正在使用这个库https://github.com/jlevers/selling-partner-api请注意,CreateReportSpecification参数中的3个是可选的(report_options,data_start_time,data_end_time),我没有在构造函数中传递它。
你能告诉我我的代码出了什么问题吗?为什么我收到无效的输入??
先谢谢你了
2条答案
按热度按时间hfyxw5xn1#
检查
AWS_ENV=PRODUCTION
(不是SANDBOX)b1payxdu2#
除非$merchant_data ['marketplace_ids']是一个字符串,否则您可能不需要围绕它的数组