diff --git a/index.html b/index.html index 27408e2..e210ef4 100644 --- a/index.html +++ b/index.html @@ -107,7 +107,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.9/languages/json.min.js"> - + Credentials @@ -123,6 +123,10 @@ Dev ID + + Access Token + + Config @@ -143,13 +147,19 @@ Get Item - Get Item + Get Item Search - Search + Search + + + + Upload to EPS + + Upload @@ -177,7 +187,7 @@ eBay API Browser - Playground devId: form.devId.value, sandbox: form.sandbox.checked, - siteId: form.siteId.value, + siteId: parseInt(form.siteId.value, 10), marketplaceId: form.marketplaceId.value, contentLanguage: 'en-US' }); @@ -187,23 +197,63 @@ eBay API Browser - Playground return request; }) + if (form.accessToken.value) { + eBay.OAuth2.setCredentials(form.accessToken.value.trim()); + } + return eBay } - function handleError(e) {code.innerText = e.message} + function handleError(e) { + console.error(e); + code.innerText = e.message + } function handleResponse(data) { code.innerText = JSON.stringify(data, null, 2); hljs.highlightBlock(code); } function getItem() { - createApi().buy.browse.getItem('v1|' + form.itemId.value + '|0').then(handleResponse) - .catch(handleError); + try { + createApi().buy.browse.getItem('v1|' + form.itemId.value + '|0').then(handleResponse) + .catch(handleError); + } catch (e) { + handleError(e) + } } function search() { - createApi().buy.browse.search({q: form.query }).then(handleResponse) - .catch(handleError); + try { + createApi().buy.browse.search({q: form.query}).then(handleResponse) + .catch(handleError); + } catch (e) { + handleError(e) + } + } + + function upload() { + const file = document.forms[0].image.files[0]; + if (!file) { + alert('File is required.'); + return; + } + try { + createApi().trading.UploadSiteHostedPictures({ExtensionInDays: 1}, { + hook: (xml) => { + const formData = new FormData(); + // XML should be always first + formData.append('XML Payload', xml); + formData.append('image', file); + return { + body: formData, + headers: {'Content-Type': 'multipart/form-data'} + } + } + }).then(handleResponse) + .catch(handleError); + } catch (e) { + handleError(e) + } }