当我使用像http://localhost/magento/api/rest/orders/?filter[1][attribute]=entity_id&filter[1][gt]=70&page=1&limit=100这样的GET过滤器
时,我很难从Magento REST API获取订单提出错误":[{"代码":401,"消息":" oauth_problem = signature_invalid"}]
当我尝试使用像Postman这样的REST客户端访问相同的API端点时,我收回了所需的结果JSON。
我怀疑过滤器查询中的方括号可能导致生成Oauth签名时出现问题。没有GET过滤器的所有端点都工作正常。 我使用Request节点模块使用oauth标头发出GET请求。
是否有任何修复可以避免signaturre无效错误?
答案 0 :(得分:2)
问题出在我用来生成OAuth签名的Request节点模块中。它没有考虑URL中的方括号。我修改了模块中包含方括号的代码。更改OAuth签名生成方法为我修复了
答案 1 :(得分:0)
由于我花了一点时间才弄清楚如何做到这一点,我想我会传递我学到的东西。我的目标是向Magento的REST API发出单一请求,以返回具有特定订单状态的订单。在看到最后一行之前,查看GET过滤器文档页面并没有什么用处。以下是我提出的有效的请求:
http://magentohost.com/api/rest/orders?filter[1][attribute]=status&filter[1][in][1]=pending&filter[1][in][2]=processing 上述请求将为您提供状态为“待处理”或“正在处理”的所有订单的列表。
参考:http://magentoforce.com/2014/08/magento-rest-api-multiple-in-get-filters/
答案 2 :(得分:-1)