[英]eBay API ItemCompatibility XML Input
我正在使用eBay API和python ebaysdk模块。 在我的AddFixedPriceItem请求中发布新的项目列表,我想使用Item.ItemCompatibility(在使用我的生产密钥的ebayMotors类别中)但由于某种原因它只是不起作用。
根据在线文档,这是所需的xml输入:
<ItemCompatibilityList> ItemCompatibilityListType
<Compatibility> ItemCompatibilityType
<CompatibilityNotes> string </CompatibilityNotes>
<NameValueList> NameValueListType
<Name> string </Name>
<Value> string </Value>
<!-- ... more Value values allowed here ... -->
</NameValueList>
<!-- ... more NameValueList nodes allowed here ... -->
</Compatibility>
<!-- ... more Compatibility nodes allowed here ... -->
</ItemCompatibilityList>
我可能有15或20种不同的方式来重新安排我的输入以给ebay他们想要的东西,但它们似乎都没有用。 这是我在请求中使用的最新代码:
api_request = {
'Item': {
'Category': category,
'Title': title,
'ItemCompatibilityList': {
'Compatibility': {
{'CompatibilityNotes': 'Fits for all trims and engines.'},
{'NameValueList': {'Name':'Year','Value':'2001'}},
{'NameValueList': {'Name':'Make','Value':'Honda'}},
{'NameValueList': {'Name':'Model','Value':'Accord'}}}}}}
api = trading(domain=DomainUrl, appid=Id_App, devid=Id_Dev, certid=Id_Cert, config_file=None)
api.execute('AddFixedPriceItem',api_request)
列表发布并激活,所有其他信息都正确发布,但看不到兼容性。 它根本没有出现,我也没有任何错误告诉我我做错了什么。
eBayMotors的一个兼容性项目是:
[Honda, Accord, 2002]
但我想要的是几个兼容性项目:
[Honda, Accord, 2002], [Honda, Accord, 2003], [Honda, Accord, 2004]
等等。 三四天前,我实际上让它一次作为一个兼容项目工作。 但是我改变了我的代码以适应多年,并且在混合的某个地方我最终完全忘记了有效的代码。 因为我失去了它,我一直在无休止地工作,我仍然无法弄清楚如何正确地做到这一点。 我不确定数据结构是否设置不正确,如果还有其他东西,我错过了。 任何帮助将不胜感激。
在上面的代码中,字典键是重复的,这就是系统将覆盖xml中的值的原因。
你应该发送词典列表。
api_request = {
'Item': {
'Category': category,
'Title': title,
'ItemCompatibilityList': {
'Compatibility': {
{'CompatibilityNotes': 'Fits for all trims and engines.'},
{'NameValueList'[{'Name':'Year','Value':'2001'},
{'Name':'Make','Value':'Honda'},
{'Name':'Model','Value':'Accord'}]
},
}
}}}
这可能对你有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.