How to add multiple pictures in Python ebay sdk -


here setup:

python 3.4

using trading api

attempting call ebay's "verifyadditem"

i marked error, in picurl, , i'm trying post multiple pictures multiple urls. i'm trying out 2 pictures let's http://i.ebayimg.com/picture1 , http://i.ebayimg.com/picture2. (i realize these not real pictures, that's not part of problem i'm having)

the ebay api documentations states to specify multiple pictures, send each url in separate, picturedetails.pictureurl element. first url passed in gallery image , appears on view item page. tried passing both of following lines no avail:

"picturedetails": {"pictureurl": ["http://i.ebayimg.com/picture1",                                   "http://i.ebayimg.com/picture2"]} 

and

"picturedetails": [{"pictureurl": "http://i.ebayimg.com/picture1"},                    {"pictureurl": "http://i.ebayimg.com/picture2"}] 

i following errors ebay's connection, respectively:

verifyadditem: class: requesterror, severity: error, code: 37, input data invalid.  input data tag <item.picturedetails.pictureurl[2]> invalid or missing. please  check api documentation. 

and

verifyadditem: class: requesterror, severity: error, code: 37, input data invalid.  input data tag <item.picturedetails[2].pictureurl> invalid or missing. please  check api documentation. 

unfortunately, have run out of ideas. please help! here full dictionary, don't worry logic, have verified else works fine.

api = trading(config_file="ebay.yaml", warnings=false)      myitem = {         "item": {             "title": title,             "description": description,             "primarycategory": {"categoryid": p.categoryvalue},             "startprice": str(p.price_sbox.value()),             "categorymappingallowed": "true",             "country": "us",             "conditionid": catid,             "conditiondescription": p.conddetail_tedit.toplaintext(),             "currency": "usd",             "dispatchtimemax": "1",             "listingduration": "gtc",             "listingtype": "fixedpriceitem",             "paymentmethods": "paypal",             "paypalemailaddress": paypal,             #############################             ###this error             #############################             "picturedetails": picurl,             "postalcode": zipcode,             "quantity": str(p.quantity_sbox.value()),             "returnpolicy": {                 "returnsacceptedoption": "returnsaccepted",                 "refundoption": "moneyback",                 "description": "14 days money back, pay return shipping",                 "returnswithinoption": "days_14",                 "shippingcostpaidbyoption": "buyer" },             "shippingdetails": {                 "shippingtype": "calculated",                 "paymentinstructions": "1 business days of handling time, shipped next day. make sure address correct, when shipping foreign countries.",                 "shippingserviceoptions": {                     "freeshipping": freeship,                     "shippingservice": shipservice                     },                 "calculatedshippingrate": {"originatingpostalcode": zipcode} },             "shippingpackagedetails": {                 "measurementunit": "english",                 "weightmajor": str(p.weightlbs_sbox.value()),                 "weightminor": str(p.weightoz_sbox.value()),                 "packagedepth": str(p.dimensionh_sbox.value()),                 "packagelength": str(p.dimensionl_sbox.value()),                 "packagewidth": str(p.dimensionw_sbox.value()),                 "shippingpackage": "packagethickenvelope"},             "shiptolocations": "worldwide",             "site": "us",             "sku": p.itemid_ledit.text() } }     intship = []     boolint = false     if(p.intship1_chbox.ischecked()):         intship.append('uspsprioritymailinternational')         boolint = true     if(p.intship2_chbox.ischecked()):         intship.append('uspsprioritymailinternationallargeflatratebox')         boolint = true     if(boolint):         myitem['item']['shippingdetails']['shippingserviceoptions']['internationalshippingserviceoption'] = intship     if(p.bestoffer_chbox.ischecked()):         myitem['item']['bestofferdetails'] = {'bestofferenabled': 'true'}      #print(myitem)     api.execute('verifyadditem', myitem)     print("%s" % api.response.content)  except connectionerror e:     node in api.response.dom().findall('errorcode'):         print("error code: %s" % node.text)     if 37 in api.response_codes():         print("invalid data in request")     print(e)     print(e.response.dict()) 

well nevermind... feel dumb... since i'm still working in sandbox, i'm passing test photos of urls in list picurl not point valid photo.

if else gets these errors, first format correct one:

"picturedetails": {"pictureurl": ["http://i.ebayimg.com/picture1",                                   "http://i.ebayimg.com/picture2"]} 

Comments