我想在亞馬遜MWS PHP客戶端庫中使用GetMatchingProductForId函數來將UPC與ASIN進行匹配。一旦匹配,我從XML響應中檢索ASIN值。然後我試圖將ASIN變量傳遞給GetLowestOfferForASIN函數。我不知道如何做到這一點。我是新興的發展和掙扎。我閱讀了關於靜態變量,全局變量和函數參數的內容,並且不確定哪些內容(如果有的話)可以在這種情況下使用。下面是我的代碼的一部分:如何將亞馬遜MWS響應變量傳遞給另一個API調用?
功能invokeGetMatchingProductForId(MarketplaceWebServiceProducts_Interface $服務,$請求) { $響應= $服務 - > GetMatchingProductForId($請求);
$dom = new DOMDocument();
$dom->loadXML($response->toXML());
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$ASIN = $dom->getElementsByTagName('ASIN')->item(0)-> nodeValue;
echo ($ASIN);
//這將返回正在搜索的UPC代碼的正確ASIN值。然後我嘗試在下面的函數中使用這個ASIN值作爲參數。
$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);
/** * 獲取Get最低報價的房源針對ASIN動作取樣 *獲取競爭力的價格及相關信息由 *的MarketplaceId和ASIN標識的產品。 * MarketplaceWebServiceProducts_Interface @參數MarketplaceWebServiceProducts_Interface $服務實例 * @參數混合$請求MarketplaceWebServiceProducts_Model_GetLowestOfferListingsForASIN 或參數的陣列 */
function invokeGetLowestOfferListingsForASIN(MarketplaceWebServiceProducts_Interface $service, $request)
{
try {
$response = $service->GetLowestOfferListingsForASIN($request);
echo ("Service Response\n");
echo
(「=============== ================================================== ============ \ n「);
$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");
}
}
任何幫助將不勝感激。
感謝,
埃裏克
感謝您的建議和幫助。 – Eric
我把這三行寫在我的代碼中,我收到錯誤信息。 __致函一個非對象的成員函數setASIN()___ –
@MusaddiqKhan我的答案的重點是,這三行是_causing_問題。我假設你需要刪除第二行的東西來工作,但沒有嘗試過。 – Hazzit