我试图为GetSellerList请求返回的每个项目获取最高质量的图像。可以通过单击产品页面上的图像手动查看HQ图像(所以我知道它们存在)。
不幸的是,它只返回中等大小的图像。我用google搜索和谷歌搜索,只是发现了很多SelectorOutput的提及,它只能在Finding API中使用,而且与我尝试做的完全无关。
这是我的xml输入(注意我的auth是由我使用的js库处理的):
var xml = '<?xml version="1.0" encoding="UTF-8"?>' +
'<GetSellerListRequest xmlns="urn:ebay:apis:eBLBaseComponents">' +
'<RequesterCredentials>' +
'<eBayAuthToken> <!-- my ebayAuthToken -->' +
'</RequesterCredentials>' +
'<UserID>samurai-gardens</UserID>' +
'<StartTimeFrom>2016-01-01T23:35:27.000Z</StartTimeFrom>' +
'<StartTimeTo>2016-02-01T23:35:27.000Z</StartTimeTo>' +
'<DetailLevel>ItemReturnDescription</DetailLevel>' +
'<Pagination ComplexType="PaginationType">' +
'<EntriesPerPage>10</EntriesPerPage>' +
'<PageNumber>1</PageNumber>' +
'</Pagination>' +
'</GetSellerListRequest>"';
我得到了正确的输出,我只是不知道如何用这个来拉大图像。感谢ebay一个超级令人沮丧的api!
答案 0 :(得分:1)
只是为了澄清在这个问题上发表的评论:
要获得与产品列表相关联的高分辨率图像,请执行以下操作。
使用下面格式化的GetSellerRequest从项目详细信息中获取图片URL:
var xml = '<?xml version="1.0" encoding="UTF-8"?>' +
'<GetSellerListRequest xmlns="urn:ebay:apis:eBLBaseComponents">' +
'<RequesterCredentials>' +
'<eBayAuthToken> <!-- my ebayAuthToken -->' +
'</RequesterCredentials>' +
'<UserID>samurai-gardens</UserID>' +
'<StartTimeFrom>2016-01-01T23:35:27.000Z</StartTimeFrom>' +
'<StartTimeTo>2016-02-01T23:35:27.000Z</StartTimeTo>' +
'<DetailLevel>ItemReturnDescription</DetailLevel>' +
'<Pagination ComplexType="PaginationType">' +
'<EntriesPerPage>10</EntriesPerPage>' +
'<PageNumber>1</PageNumber>' +
'</Pagination>' +
'</GetSellerListRequest>"';
这应该产生如下URL:
i.ebayimg.com/00/s/ODAwWDYyOQ==/z/3eEAAOSwSdZWdJRL/$_1.JPG?set_id=880000500F
获取此URL后,需要将其修改为指向高分辨率图像选项。通过反复试验,这似乎是.JPG图像3或57(可能还有其他)。每个图像都有不同的对齐方式,这是多个高分辨率的原因。选项。使用标准字符串操作技术修改返回的URL以获取以下内容:
i.ebayimg.com/00/s/ODAwWDYyOQ==/z/3eEAAOSwSdZWdJRL/$_3.JPG
这可以如下获得(在c#中)。下面的代码段没有经过测试。确保子字符串中没有一个错误。有很多方法可以做到这一点,这恰好就是我想到的......
string url = "i.ebayimg.com/00/s/ODAwWDYyOQ==/z/3eEAAOSwSdZWdJRL/$_1.JPG?set_id=880000500F";
int index = url.LastIndexOf(Convert.ToChar(@"/");
url = url.Substring(0,index+1);
url = url + @"/$_3.JPG";
如果你正在使用c#(我意识到原帖是javascript),你可以使用以下线程中的信息从URL获取图像流:URL to Stream
以下是使用Javascript:URL To Display Javascript
显示网址图片的信息