如何使用ebay API向现有物品添加图像

2024-04-19 18:12:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用ebay sdk for python。我使用以下代码成功地将一些图像上载到易趣图片服务(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)

易趣返回上传图片的网址。在

但如何将这些图片添加到我现有的易趣产品中呢?我必须使用ReviseItem吗?在

一个使用ebaysdkforpython的例子会很好。在

编辑:

^{pr2}$

我按照建议做了修改,但它仍然只改变了主图像。我的图像变成了主图像。“我的”IMG1和“我的”IMG2没有附加到列表中。在


Tags: 代码from图像imageapiurlforresponse
2条回答

这很管用。在

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

另一个有用的东西是在这里查看易趣API调用索引:

http://developer.ebay.com/devzone/xml/docs/Reference/eBay/index.html#CallIndex

然后使用XML-to-JSON转换器将所需的调用更改为pythong中更可读的格式。。在

这里:

http://www.utilities-online.info/xmltojson/#.WTW_P8b-vct

添加图像和宿主的注意事项:

https://developer.ebay.com/devzone/xml/docs/reference/ebay/UploadSiteHostedPictures.html

注意:从889版开始,在创建列表之前,您不需要使用此调用来上载自托管的图像。现在,您可以在Item.PictureDetails.PictureURL使用AddItem或AddFixedPriceItem调用。但是,必须使用UploadSiteHostedPictures调用上载二进制附件。在

假设的JSON需要它这个。。除非将图片填充到项目中需要时间?在

我们都不见了【】小学生错了!在

^{pr2}$

我知道这个问题很古老,但是我偶然发现了这个页面,因为我遇到了同样的问题,找到了正确的解决方案。在

正如上面的评论中提到的,johnashu当前发布的解决方案不起作用。这是因为ebaysdk.utils.dict2xml转换词典。在

上述解决方案:

{
"Item": {
    "PictureDetails": [
    { "PictureURL": "http://pics.ebay.com/aw/pics/dot_clear.gif" },
    { "PictureURL": "fds" },
    { "PictureURL": "fds" }
    ]
}
}

输出XML:

^{pr2}$

它包含多个<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中描述的格式相匹配。在

相关问题 更多 >