繁体   English   中英

eBay API ItemCompatibility XML输入

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM