我是 eBay API 的新手,但我正在尝试使用它来查看已完成的拍卖。我找到了 Python 包ebaysdk
,并且安装了最新版本并且可以正常工作。但是,如果我运行查询并取回结果,然后立即再次运行它,使用相同的参数和所有内容,我会得到完全不同的结果。此外,我第一次运行它时,我确实获得了一些已售出该物品的拍卖,但在反复尝试时,我只得到未售出的物品。
我的实现遵循了我在 GitHub 上看到的作者的示例。我所做的唯一区别是自动遍历页码以在第一页之前获得额外的结果。
我不确定问题是什么,但希望有人在这里。结果之间的微小变化是可以理解的,但我无法理解为什么我多次运行完全相同的查询会得到完全不同的结果。
from ebaysdk.finding import Connection as Finding
from ebaysdk.exception import ConnectionError
# define eBay API credentials
sandbox_id = '123456789'
prod_id = '123456789'
# test API in sandbox
api = Finding(domain='svcs.sandbox.ebay.com', appid=sandbox_id, config_file=None)
response = api.execute('findCompletedItems', {'categoryId': '6161'})
pprint(response.dict())
# query the API and store results
results = []
page_num = 1
while True:
try:
api = Finding(appid=prod_id, config_file=None)
response = api.execute('findCompletedItems', {'categoryId': '6161', 'paginationInput': {'pageNumber': page_num}})
r = response.dict()
if r['ack'] == "Success":
results.append(r)
else:
print(r)
break
except ConnectionError as e:
print(e)
print(e.r)
break
page_num += 1