使用URL格式与eBay的API进行交互时,MinPrice项目过滤器有效,但MaxPrice无效。我的猜测是它与枚举有关,但是我不完全了解枚举的工作原理,而且不确定将其更改为什么。代码如下。

<script src=http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=*APP ID GOES HERE*&OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.0.0&RESPONSE-DATA-FORMAT=JSON&callback=_cb_findItemsByKeywords&REST-PAYLOAD&sortOrder=PricePlusShippingLowest&paginationInput.entriesPerPage=6&outputSelector=AspectHistogram&itemFilter(0).name=Condition&itemFilter(0).value(0)=New&itemFilter(1).name=MaxPrice&itemFilter(1).value=201.00&itemFilter(0).paramName=Currency&itemFilter(0).paramValue=USD&itemFilter(1).name=MinPrice&itemFilter(1).value=200.00&itemFilter(1).paramName=Currency&itemFilter.name=ListingType&itemFilter.value=FixedPrice&itemFilter(1).paramValue=USD&keywords=iphone%205%2016gb%20unlocked>
</script>

最佳答案

maxPrice和minPrice过滤器名称都分配给相同的itemFilter元素

itemFilter(1).name=MaxPrice&itemFilter(1).name=MinPrice

这是不正确的,您应该在不同的itemFilter元素上指定每个过滤器,即

itemFilter(1).name=MaxPrice&itemFilter(2).name=MinPrice

另外,您还有itemFilter.name=ListingType,它也不也是有效的,name属性位于itemFilter的元素上,而不位于itemFilter列表本身上,它应该为itemFilter(3).name=ListingType

正确的网址如下所示:

http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=*APP ID GOES HERE*&OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.0.0&RESPONSE-DATA-FORMAT=JSON&callback=_cb_findItemsByKeywords&REST-PAYLOAD&sortOrder=PricePlusShippingLowest&paginationInput.entriesPerPage=6&outputSelector=AspectHistogram&itemFilter(0).name=Condition&itemFilter(0).value(0)=New&itemFilter(1).name=MaxPrice&itemFilter(1).value=201.00&itemFilter(1).paramName=Currency&itemFilter(1).paramValue=USD&itemFilter(2).name=MinPrice&itemFilter(2).value=200.00&itemFilter(2).paramName=Currency&itemFilter(2).paramValue=USD&itemFilter(3).name=ListingType&itemFilter(3).value=FixedPrice&keywords=iphone%205%2016gb%20unlocked

09-20 02:39