PHP 中的 eBay API 调用返回“商品特定品牌缺失”错误

Asl*_*aya 2 php ebay-api

我与 eBay 的 API 集成开始给出以下错误消息:

[结果] => 21919403:缺少项目特定品牌。将品牌添加到此列表中,输入有效值,然后重试。)

我知道这与缺少 XML 标签有关。我什至尝试将标签添加到这个 xml 中;它不起作用:

$requestXmlBody .= "<ItemSpecifics> ";
foreach ($ebayApi_itemspecifics as $ebayApi_itemspecifickey=>$ebayApi_itemspecificvalue) {
    $requestXmlBody .= "<NameValueList><Name>" . str_replace('&', '&amp;', $ebayApi_itemspecifickey) . "</Name>
                        <Value>".$ebayApi_itemspecificvalue."</Value></NameValueList>";           
}

$requestXmlBody .= "  <NameValueList>
        <Name>Brand</Name>
        <Value>Navdari</Value>
    </NameValueList> 
  </ItemSpecifics>";
Run Code Online (Sandbox Code Playgroud)

小智 5

这是工作解决方案:

$this->item->ProductListingDetails = new Types\ProductListingDetailsType();
$this->item->ProductListingDetails->UPC = 'Does not apply';

$this->item->ItemSpecifics = new Types\NameValueListArrayType();

$specific = new Types\NameValueListType();
$specific->Name = 'Brand';
$specific->Value[] = 'BrandValue';
$this->item->ItemSpecifics->NameValueList[] = $specific;

$specific = new Types\NameValueListType();
$specific->Name = 'MPN';
$specific->Value[] = 'MPNValue';
$this->item->ItemSpecifics->NameValueList[] = $specific;
Run Code Online (Sandbox Code Playgroud)