2017-02-14 3 views
0

Я новичок в API eBay, но я пытаюсь использовать его для просмотра завершенных аукционов. Я нашел пакет Python ebaysdk и имел самую последнюю версию, установленную и работающую. Однако, если я запустил запрос и верну результаты, а затем запустил его сразу же, такие же параметры и все, я получаю совершенно разные результаты. Кроме того, в первый раз, когда я запускаю его, я возвращаю некоторые аукционы, на которых предмет продан, но при повторных попытках я получаю только предметы, которые не продавались.ebaysdk: findCompletedListing не возвращает согласованные результаты

Моя реализация следует за примерами автора, которые я видел на 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 

ответ

Смежные вопросы