这是我第一次接触eBay API,我一开始就遇到了问题。我在python中编码,我正在尝试调用addItem,但我无法正确定义国际运输选项。
我想发送我的产品国内为2.50GBP,国际到亚洲,日本,澳大利亚为20GBP和欧洲,欧洲联盟,德国为10GBP。我不知道如何宣布它......
到目前为止我尝试了什么?
"ShippingDetails": {
"GlobalShipping": "true",
"ShippingType": "Flat",
"ShippingServiceOptions": {
"ShippingService": "UK_OtherCourier",
"ShippingServiceCost": "2.50",
},
"InternationalShippingServiceOption": {
"ShippingService": "UK_RoyalMailAirmailInternational",
"ShippingServiceCost": "10",
"ShipToLocation": "Europe",
"ShipToLocation": "EuropeanUnion",
"ShipToLocation": "DE"
}
}
但是当我运行该代码时,我的列表只有2.50GBP的国内运费,并且运往德国的10GBP(仅保存最后的ShipToLocation)。如何设置正确的运费区域?
答案 0 :(得分:1)
在Python Dictionary中,您不允许提供重复值。
你已经在单个dict中写了三次ShipToLocation,因为系统只考虑最后一个。
您可以使用以下方法。
"ShippingDetails": {
"GlobalShipping": "true",
"ShippingType": "Flat",
"ShippingServiceOptions": {
"ShippingService": "UK_OtherCourier",
"ShippingServiceCost": "2.50",
},
"InternationalShippingServiceOption": {
"ShippingService": "UK_RoyalMailAirmailInternational",
"ShippingServiceCost": "10",
"ShipToLocation": ["Europe","EuropeanUnion","DE"]
}
}
您应该在列表中写下ShipToLocation值。
现在当你转换dict_to_xml时,Python库将自动管理xml标签。
以下是转换dict_to_xml和xml_to_dict的最佳库之一。
https://github.com/Shopify/pyactiveresource/tree/master/pyactiveresource