我正在寻找完全描述HERE的解决方案但是我不确定我应该传递给第二个参数即request_body,因为我无法在odoo的请求对象中找到body。
digester = hmac.new(secret, request_body, hashlib.sha256)
我试图通过
抛出错误的“请求”“必须可以转换为缓冲区,而不是LocalProxy”。
“request.httprequest”抛出错误“必须可以转换为缓冲区,而不是请求”。
“request.jsonrequest”抛出错误“必须可以转换为缓冲区,而不是dict”。
“str(request.jsonrequest)”处理此但是给出无效签名。
除上述之外的任何输入都将非常有用。如果你不确定,但你可能有解决方案。试一试,我会测试并告诉你。我正在使用odoo v10
这似乎是type='json'
控制器端点的问题,因为当请求的Content-Type
是application/json
时,请求流被Odoo解析和使用,并且在控制器方法中不再可用。
这个问题已经在Odoo issue tracker上报道,但似乎还没有100%的解决方案。