Php 如何将Amazon MWS响应变量传递给另一个API调用?
我正在尝试使用Amazon MWS PHP客户端库中的GetMatchingProductForId函数来匹配UPC和ASIN。匹配后,我从XML响应中检索ASIN值。然后,我尝试将ASIN变量传递给getLowsTofferForasin函数。我不知道该怎么做。我对发展和奋斗还不熟悉。我读过关于静态变量、全局变量和函数参数的书,但不确定在本例中可以使用哪种(如果有的话)。下面是我代码的一部分: 函数invokeGetMachingProductForId(MarketplaceWebServiceProducts_接口$service,$request) { $response=$service->GetMatchingProductForId($request) //这将为我正在搜索的UPC代码返回正确的ASIN值。然后我将尝试在下面的函数中使用此ASIN值作为参数Php 如何将Amazon MWS响应变量传递给另一个API调用?,php,amazon-mws,Php,Amazon Mws,我正在尝试使用Amazon MWS PHP客户端库中的GetMatchingProductForId函数来匹配UPC和ASIN。匹配后,我从XML响应中检索ASIN值。然后,我尝试将ASIN变量传递给getLowsTofferForasin函数。我不知道该怎么做。我对发展和奋斗还不熟悉。我读过关于静态变量、全局变量和函数参数的书,但不确定在本例中可以使用哪种(如果有的话)。下面是我代码的一部分: 函数invokeGetMachingProductForId(MarketplaceWebServi
$request = new MarketplaceWebServiceProducts_Model_GetLowestOfferListingsForASINRequest();
$request->setSellerId(MERCHANT_ID);
$request->setMarketplaceId(MARKETPLACE_ID);
$asinList = new MarketplaceWebServiceProducts_Model_ASINListType();
$asinList = $ASIN;
$asinList->setASIN(array($ASIN));
$request->setASINList($asinList);
$request->setItemCondition('Used');
invokeGetLowestOfferListingsForASIN($service, $request);
/**
*获取ASIN Action示例的最低报价列表
*获取由标识的产品的竞争性定价和相关信息
*MarketplaceId和ASIN。
*@param MarketplaceWebServiceProducts_接口$MarketplaceWebServiceProducts_接口的服务实例
*@param mixed$request MarketplaceWebServiceProducts_Model_GetLowstofferistingsFarasin
或参数数组
*/
(“=========================================================================================================================\n”)
任何帮助都将不胜感激
谢谢
Eric你并不是说你会犯什么样的错误,但对对象层次结构的社会经济背景的深入研究让我明白了这一点:
$asinList = new MarketplaceWebServiceProducts_Model_ASINListType();
$asinList = $ASIN;
$asinList->setASIN(array($ASIN));
第二行用一个简单的无产阶级字符串替换了StupidlyLongAmazonClassNameHere的精彩实例。这可能是因为后者被视为上层阶级公民而受到冒犯,因此拒绝调用其setASIN方法。感谢您的建议和帮助。我将这三行代码放在代码中,得到了错误消息对非对象上的成员函数setASIN()的调用-object@MusaddiqKhan我回答的全部要点是这三行导致了问题。我想你需要删除第二行才能工作,但还没有尝试。
function invokeGetLowestOfferListingsForASIN(MarketplaceWebServiceProducts_Interface $service, $request)
{
try {
$response = $service->GetLowestOfferListingsForASIN($request);
echo ("Service Response\n");
echo
$dom = new DOMDocument();
$dom->loadXML($response->toXML());
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
echo $dom->saveXML();
echo("ResponseHeaderMetadata: " . $response->getResponseHeaderMetadata() . "\n");
} catch (MarketplaceWebServiceProducts_Exception $ex) {
echo("Caught Exception: " . $ex->getMessage() . "\n");
echo("Response Status Code: " . $ex->getStatusCode() . "\n");
echo("Error Code: " . $ex->getErrorCode() . "\n");
echo("Error Type: " . $ex->getErrorType() . "\n");
echo("Request ID: " . $ex->getRequestId() . "\n");
echo("XML: " . $ex->getXML() . "\n");
echo("ResponseHeaderMetadata: " . $ex->getResponseHeaderMetadata() . "\n");
}
}
$asinList = new MarketplaceWebServiceProducts_Model_ASINListType();
$asinList = $ASIN;
$asinList->setASIN(array($ASIN));