我正在使用ebay-sdk for python。我使用以下代码成功地将一些图片上传到eBay图片服务(EPS):
from ebaysdk.trading import Connection as Trading
api = Trading(config_file='ebay.yaml', siteid=71)
def upload_images(image_url):
response = api.execute('UploadSiteHostedPictures', {"ExternalPictureURL": image_url,
"PictureSet": "Supersize"})
return response.content
upload_images(MY_IMG_URL)eBay返回上传图片的URL地址。
但是,我如何才能将图像添加到现有的eBay产品中呢?我必须使用ReviseItem吗?
一个使用ebay-sdk for python的例子会很好。
编辑:
def revise_image(self, item_id):
myitem = {
"Item": {
"Country": "DE",
"ItemID": item_id,
"PictureDetails": [
{"PictureURL": MY_IMG1},
{"PictureURL": MY_IMG2},
{"PictureURL": MY_IMG3}
]
}
}
response = self.api.execute('ReviseFixedPriceItem', myitem)我按照建议进行了更改,但它仍然只更改了主图像。MY_IMG3成为主图像。MY_IMG1和MY_IMG2没有附加到列表中。
发布于 2017-06-06 04:55:35
这是可行的。
def verifyAddItem(args):
#"""http://www.utilities-online.info/xmltojson/#.UXli2it4avc """
try:
api = Trading(debug=args.debug, siteid=site_id, appid=app_id, token=token_id, config_file=None, certid=cert_id, devid=dev_id)
myitem = {
"Item": {
"Country": "GB",
"Description": description,
"ItemID": item_to_revise,
"PictureDetails": {
"PictureURL": "http://www.itcircleconsult.com/eb2017/4a.png"
},
}
}
api.execute('ReviseFixedPriceItem', myitem)
dump(api)我一直在使用eBay和Python..
请查看此处以获取一些工作示例。我经常把它们撕开,然后把它们放在一起,但你可能会发现一些用处。
还有一个I-ways检查器和一些BS4抓取来修改项目
https://github.com/johnashu/PRODUCTION/tree/master/Python/eBay%20API%20KIT%20-%20Maffas%20-%202017
另一件有用的事情是在这里查看eBay应用程序接口调用索引:
http://developer.ebay.com/devzone/xml/docs/Reference/eBay/index.html#CallIndex
然后使用XML到JSON转换器将所需的调用更改为pythong中更具可读性的格式。
这里:
http://www.utilities-online.info/xmltojson/#.WTW_P8b-vct
添加图片和托管注意事项:
https://developer.ebay.com/devzone/xml/docs/reference/ebay/UploadSiteHostedPictures.html
注意:从版本889开始,在创建列表之前,您不需要使用此调用来上传自托管图像。现在,您可以使用AddItem或AddFixedPriceItem调用在Item.PictureDetails.PictureURL中一次指定多达12个自托管或EPS托管的URL。但是,您必须使用UploadSiteHostedPictures调用上载二进制附件。
假设的JSON需要它..除非需要花时间将图片填充到项目中?
我们都错过了[] -学生错误!
{
"Item": {
"PictureDetails": [
{ "PictureURL": "http://pics.ebay.com/aw/pics/dot_clear.gif" },
{ "PictureURL": "fds" },
{ "PictureURL": "fds" }
]
}
}发布于 2018-11-16 01:01:59
我知道这个问题很古老,但我偶然发现了这个页面,因为我遇到了同样的问题,并找到了正确的解决方案。
正如上面评论中提到的,johnashu目前发布的解决方案不起作用。这是因为ebaysdk.utils.dict2xml转换字典的方式。
上面的解决方案:
{
"Item": {
"PictureDetails": [
{ "PictureURL": "http://pics.ebay.com/aw/pics/dot_clear.gif" },
{ "PictureURL": "fds" },
{ "PictureURL": "fds" }
]
}
}输出以下内容的XML:
<Item>
<PictureDetails>
<PictureURL>http://pics.ebay.com/aw/pics/dot_clear.gif</PictureURL>
</PictureDetails>
<PictureDetails>
<PictureURL>fds</PictureURL>
</PictureDetails>
<PictureDetails>
<PictureURL>fds</PictureURL>
</PictureDetails>
</Item>它包括多个<PictureDetails>而不是一个父标签,具有多个作为子标签的PictureURL标签。
正确的格式是:
{
"Item": {
"PictureDetails": {
'PictureURL': ['http://pics.ebay.com/aw/pics/dot_clear.gif', 'fds', 'fds']
}
}
}这给了我们一个XML输出:
<Item>
<PictureDetails>
<PictureURL>http://pics.ebay.com/aw/pics/dot_clear.gif</PictureURL>
<PictureURL>fds</PictureURL>
<PictureURL>fds</PictureURL>
</PictureDetails>
</Item>它与ReviseItem API docs中描述的格式相匹配。
https://stackoverflow.com/questions/44370657
复制相似问题