Ebay API / ebaysdk" GetSellerList"

时间:2016-10-05 13:40:54

标签: python api ebay

我试图在指定卖家列表下检索有效和已完成的项目。我已经在几个不同的地方读过一些东西,但是我们真的找不到我理解的东西或者我能用的任何东西。我认为这可能与我的标题或身份验证或其他内容有关,但我也不确定它是否只是我设置请求的方式。我只使用过Finding API,看起来我需要使用Trading,但我不确定当我尝试切换API时可能会缺少什么细节

from ebaysdk.trading import Connection as trading
api = trading(appid='API_KEY_HERE', config_file=None)

api_request = {
'keywords': 'new'}
'outputSelector': 'SellerInfo',
'itemFilter': [
    {'name': 'UserId',
    'value': 'SELLER_NAME_HERE'},
    {'name': 'StartTimeFrom',
    'value': QueryTime_Start},
    {'name': 'StartTimeTo',
    'value': QueryTime_Complete}]}

response = api.execute('GetSellerList', api_request).

和我的完整错误消息:

  

回溯(最近一次呼叫最后一次):文件" C:\ Users \ dc500 \ Downloads \ All   3.0 \所有3 \ Python \ 3Pies \ Project_Ordered Tools \ practice_getsellerlist.py",第24行,在响应中=   api.execute(' GetSellerList',api_request)文件   " C:\用户\ DC500 \应用程序数据\本地\程序\的Python \ Python35 \ lib中\站点包\ ebaysdk \ connection.py&#34 ;,   第120行,执行self.execute_request()文件   " C:\用户\ DC500 \应用程序数据\本地\程序\的Python \ Python35 \ lib中\站点包\ ebaysdk \ connection.py&#34 ;,   第184行,执行execute_request allow_redirects = True文件   " C:\用户\ DC500 \应用程序数据\本地\程序\的Python \ Python35 \ lib中\站点包\请求\ sessions.py&#34 ;,   第576行,在send r = adapter.send(request,** kwargs)文件中   " C:\用户\ DC500 \应用程序数据\本地\程序\的Python \ Python35 \ lib中\站点包\请求\ adapters.py&#34 ;,   第376行,发送超时=超时文件   " C:\用户\ DC500 \应用程序数据\本地\程序\的Python \ Python35 \ lib中\站点包\请求\包\ urllib3 \ connectionpool.py&#34 ;,   第559行,在urlopen body = body,headers = headers)文件   " C:\用户\ DC500 \应用程序数据\本地\程序\的Python \ Python35 \ lib中\站点包\请求\包\ urllib3 \ connectionpool.py&#34 ;,   第353行,在_make_request conn.request(方法,网址,   ** httplib_request_kw)文件" C:\ Users \ dc500 \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ http \ client.py",   第1084行,请求self._send_request(方法,url,正文,标题)   文件   " C:\用户\ DC500 \应用程序数据\本地\程序\的Python \ Python35 \ lib中\ HTTP \ client.py&#34 ;,   第1124行,在_send_request self.putheader(hdr,value)文件中   " C:\用户\ DC500 \应用程序数据\本地\程序\的Python \ Python35 \ lib中\ HTTP \ client.py&#34 ;,   第1060行,在putheader中如果_is_illegal_header_value(values [i]):   TypeError:期望的字符串或类似字节的对象

1 个答案:

答案 0 :(得分:0)

from ebaysdk.trading import Connection as Trading
try:
    api = Trading(config_file='ebay.yaml')
except ConnectionError as e:
    print(e)
    print(e.response.dict())
    log.error('Attempting to get an API object failed with %s', e)

def get_active_listings(page):
    acitvelist = api.execute('GetMyeBaySelling', {'ActiveList': True,
                                              'DetailLevel': 'ReturnAll',
                                              'PageNumber': page})
    return acitvelist.dict()

这适用于我并返回所有有效的商家信息 - 也许GetMyeBaySelling是一个更好的使用电话?

除此之外 https://developer.ebay.com/devzone/XML/docs/Reference/eBay/GetSellerList.html#Input

似乎没有将inputFilter作为参数选项?有outputSelector

...