簡體   English   中英

如何使用eBay API將圖像添加到現有項目

[英]How to add images to existing item with ebay API

我正在為Python使用ebay-sdk。 我使用以下代碼成功將一些圖像上傳到了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用於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。

這可行。

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-way Checker和一些BS4翻錄以修改項目

https://github.com/johnashu/PRODUCTION/tree/master/Python/eBay%20API%20KIT%20-%20Maffas%20-%202017

另一個有用的事情是在這里查看eBay 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需要此功能..除非需要花費一些時間將圖片填充到項目中?

我們倆都[失蹤]-小學生錯誤!

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

我知道這個問題已經很老了,但是我偶然發現了這個頁面,因為我遇到了同樣的問題並找到了正確的解決方案。

如以上評論所述,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文檔中描述的格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM