我试图在指定卖家列表下检索有效和已完成的项目。我已经在几个不同的地方读过一些东西,但是我们真的找不到我理解的东西或者我能用的任何东西。我认为这可能与我的标题或身份验证或其他内容有关,但我也不确定它是否只是我设置请求的方式。我只使用过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:期望的字符串或类似字节的对象
答案 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
...