2015-07-01 3 views
2

Ниже ebay api call всегда терпит неудачу и дает ошибку как «К сожалению, дата начала или дата окончания отсутствовала или недействительный диапазон дат.», но формат даты правильный. Любая идея, почему это не удается: -ebay api call to GetSellingManagerSoldListings не работает

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> 
<S:Header> 
    <ebl:RequesterCredentials xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ebl="urn:ebay:apis:eBLBaseComponents" SOAP-ENV:mustUnderstand="0"> 
    <ebl:eBayAuthToken>my token</ebl:eBayAuthToken> 
    </ebl:RequesterCredentials> 
</S:Header> 
<S:Body> 
    <GetSellingManagerSoldListingsRequest xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <Version>921</Version> 
    <Archived>true</Archived> 
    <Pagination> 
    <EntriesPerPage>50</EntriesPerPage> 
    </Pagination> 
    <SaleDateRange> 
    <TimeFrom>2015-02-26T07:05:40.027Z</TimeFrom> 
    <TimeTo>2015-03-23T07:05:40.031Z</TimeTo> 
    </SaleDateRange> 
    </GetSellingManagerSoldListingsRequest> 
</S:Body> 
</S:Envelope> 

ответ

0

Я думаю, что проблема «TimeTo» Это не может быть в настоящее время и должны быть в прошлом. Когда я попробовал, это было 2 часа. Так что, возможно, это имеет какое-то отношение к часовым поясам.

Это полный рабочий пример с python api показывает мне продаж за последние 7 дней:

def get_unshipped(self, days_back=7): 
     logger.debug("run get_unshipped()") 
     date_from = "{}.000Z".format(datetime.today() - timedelta(days_back)) 
     date_to  = "{}.000Z".format(datetime.today() - timedelta(minutes=120)) 
     api = Trading(config_file=os.path.join(os.path.expanduser("~"), CONFIG_FILE), siteid=EBAY_SITE_ID) 
     response = api.execute("GetSellingManagerSoldListings", 
      { 
      "Archived" : "false", 
      "SaleDateRange" : { 
       "TimeFrom" : str(date_from), 
       "TimeTo" : str(date_to) 
       }, 
      } 
     ) 
     print "sales found:", len(response.dict()["SaleRecord"])