带有rauth的内部词典数据

时间:2014-07-17 12:36:06

标签: python rauth

我正在使用rauth与Bricklink API进行通信。可以找到基本的API实现here,可以找到Bricklink提供的文档here。方法类正在API类上构建,以与Bricklink通信。

将数据发布到Bricklink时,您必须将此数据作为请求正文发送。有了简单的要求,那很好。例如,这可以正常工作(记住data):

client = ApiClient(...)
data = {'foo': 'bar', 'stack': 'overflow'}
client.post('inventories', data)

但是,正如文档here所示,我需要有时将内部字典传递给Bricklink(item属性)。示例代码:

client = ApiClient(...)
data = {'item': {'type': 'MINIFIG', 'no': 'cas358'}, 'quantity': 3}
client.post('inventories', data)

data['item']中记住字典。提交此请求时,rauth似乎无法计算有效的OAuth签名。使用哪种API方法并不重要 - 当使用这样的字典时,请求将始终失败。回溯:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "bricklink/api.py", line 59, in post
    return self.request('POST', url, params)
  File "bricklink/api.py", line 53, in request
    return self.processResponse(response)
  File "bricklink/api.py", line 36, in processResponse
    elif meta['message'] == 'BAD_OAUTH_REQUEST': raise BricklinkBadOauthRequestException(meta['description'])
bricklink.exceptions.BricklinkBadOauthRequestException: SIGNATURE_INVALID: Invalid Signature

是否有解决方法或其他方法将这样的字典传递给rauth

0 个答案:

没有答案