eBay API findItemsAdvanced call returns '项目过滤器需要值,条件
eBay API findItemsAdvanced call returns 'Value is required for item filter, CONDITION
我在 eBay 的 API 上玩了一会儿,并试图获得一份除新书以外的所有书籍的列表,其中包含关键字 "tolkien"。不知何故,我没有得到列表,但我收到了一个错误。
这是我正在尝试的 url:
https://svcs.ebay.com/services/search/FindingService/v1
?OPERATION-NAME=findItemsAdvanced
&SERVICE-VERSION=1.0.0
&SECURITY-APPNAME=XXXXXXXXX
&RESPONSE-DATA-FORMAT=JSON
&REST-PAYLOAD=true
&keywords=tolkien
&GLOBAL-ID=EBAY-DE
&itemFilter(0).name=ListingType
&itemFilter(0).value=FixedPrice
&categoryId=267
&itemFilter(1).name=Condition
&itemFilter(1).value(0)=2000
&itemFilter(1).value(1)=2500
&itemFilter(1).value(2)=3000
&itemFilter(1).value(3)=4000
&itemFilter(1).value(4)=5000
&itemFilter(1).value(5)=6000
这就是我得到的结果:
{
"findItemsAdvancedResponse": [
{
"ack": [
"Failure"
],
"errorMessage": [
{
"error": [
{
"errorId": [
"46"
],
"domain": [
"Marketplace"
],
"severity": [
"Error"
],
"category": [
"Request"
],
"message": [
"Value is required for item filter, CONDITION."
],
"subdomain": [
"Search"
],
"parameter": [
"CONDITION"
]
}
]
}
],
"version": [
"1.13.0"
],
"timestamp": [
"2019-07-03T22:12:21.645Z"
]
}
]
}
好的,我解决了这个问题,方法是将类别过滤器移到另一个过滤器之前。
https://svcs.ebay.com/services/search/FindingService/v1
?OPERATION-NAME=findItemsAdvanced
&SERVICE-VERSION=1.0.0
&SECURITY-APPNAME=XXXXXXXXX
&RESPONSE-DATA-FORMAT=JSON
&REST-PAYLOAD=true
&keywords=tolkien
&GLOBAL-ID=EBAY-DE
&categoryId=267
&itemFilter(0).name=ListingType
&itemFilter(0).value=FixedPrice
&itemFilter(1).name=Condition
&itemFilter(1).value(0)=2000
&itemFilter(1).value(1)=2500
&itemFilter(1).value(2)=3000
&itemFilter(1).value(3)=4000
&itemFilter(1).value(4)=5000
&itemFilter(1).value(5)=6000
我在 eBay 的 API 上玩了一会儿,并试图获得一份除新书以外的所有书籍的列表,其中包含关键字 "tolkien"。不知何故,我没有得到列表,但我收到了一个错误。
这是我正在尝试的 url:
https://svcs.ebay.com/services/search/FindingService/v1
?OPERATION-NAME=findItemsAdvanced
&SERVICE-VERSION=1.0.0
&SECURITY-APPNAME=XXXXXXXXX
&RESPONSE-DATA-FORMAT=JSON
&REST-PAYLOAD=true
&keywords=tolkien
&GLOBAL-ID=EBAY-DE
&itemFilter(0).name=ListingType
&itemFilter(0).value=FixedPrice
&categoryId=267
&itemFilter(1).name=Condition
&itemFilter(1).value(0)=2000
&itemFilter(1).value(1)=2500
&itemFilter(1).value(2)=3000
&itemFilter(1).value(3)=4000
&itemFilter(1).value(4)=5000
&itemFilter(1).value(5)=6000
这就是我得到的结果:
{
"findItemsAdvancedResponse": [
{
"ack": [
"Failure"
],
"errorMessage": [
{
"error": [
{
"errorId": [
"46"
],
"domain": [
"Marketplace"
],
"severity": [
"Error"
],
"category": [
"Request"
],
"message": [
"Value is required for item filter, CONDITION."
],
"subdomain": [
"Search"
],
"parameter": [
"CONDITION"
]
}
]
}
],
"version": [
"1.13.0"
],
"timestamp": [
"2019-07-03T22:12:21.645Z"
]
}
]
}
好的,我解决了这个问题,方法是将类别过滤器移到另一个过滤器之前。
https://svcs.ebay.com/services/search/FindingService/v1
?OPERATION-NAME=findItemsAdvanced
&SERVICE-VERSION=1.0.0
&SECURITY-APPNAME=XXXXXXXXX
&RESPONSE-DATA-FORMAT=JSON
&REST-PAYLOAD=true
&keywords=tolkien
&GLOBAL-ID=EBAY-DE
&categoryId=267
&itemFilter(0).name=ListingType
&itemFilter(0).value=FixedPrice
&itemFilter(1).name=Condition
&itemFilter(1).value(0)=2000
&itemFilter(1).value(1)=2500
&itemFilter(1).value(2)=3000
&itemFilter(1).value(3)=4000
&itemFilter(1).value(4)=5000
&itemFilter(1).value(5)=6000