2017-06-05 115 views
1

我使用ebay-sdk for python。我上传了一些图片给eBay图片服务(EPS)成功使用下面的代码:如何使用易趣API添加图像到现有的项目

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) 

易趣返回上传的图片的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不会附加到列表中。

回答

-1

This Works。

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-方式检查和一些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到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需要这个..除非需要时间来填充图片到项目?

我们都是Missing [] - 小学生错误!

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

您可以更改ReviseListedItem到ReviseItem或什么叫你想使.. 只是注意:我使用Python 3.6 – johnashu

+0

非常感谢。用你的例子我可以改变主图像。但我想添加图像到该项目,而不是改变主图像。如何做到这一点? – Wramana

+0

对不起,我忘了提及.. 要指定多张图片,请在单独的PictureDetails.PictureURL元素中发送每个网址。传入的第一个URL将成为图库图像并显示在“查看项目”页面上。 – johnashu