php - 无效的签名 REST API Magento 2

标签 php rest api get magento2

我正在尝试创建对 Magento 2 REST API 的请求:

$_method = 'GET';
$_url = 'http://host/rest/V1/categories/list/?searchCriteria[currentPage]=0';

我使用 oauth 并拥有所有 token (消费者、消费者 secret 、 token 和 token secret )但是当我创建请求时收到错误响应:

{"message":"Invalid signature"} 

我还尝试在 POSTMAN 中创建查询,一切正常。我不明白这一点。哪里错了?

My Code适用于:

$_method = 'GET';
$_url = 'http://host/rest/V1/products/:sku';

但不适用于:

$_method = 'GET';
$_url = 'http://host/rest/V1/categories/list/?searchCriteria[currentPage]=0';

有人可以帮助我吗? :( 非常感谢。

最佳答案

目前,我发现的唯一友好的解决方案是使用基于 token 的身份验证而不是 oauth

这可能不是最好的解决方案,但签名错误的问题不仅与多维数组有关,还与空格(也许还有其他东西)有关。例如,当您在 sku 中有一个空格时,products/:sku 将返回相同的错误,这让我认为这是 magento 的内部问题。

关于php - 无效的签名 REST API Magento 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49174995/

相关文章:

php - 文件上传代码不起作用

java - 使用 mockito 的 restful 客户端的 Junit 测试用例

rest - 如何更改 cURL 调用以识别超过 1 个参数?

c# - 如何使 WCF RESTful 服务异步工作?

java - Android 使用 GoogleApiClient 获取用户位置纬度和经度

android - 替代(Google map )开源 map API,提供道路上的节点和弧线数据库

php - 通过文本文件中的数据检查条件

PHP - 对象实例化上下文 - 奇怪的行为 - 是 PHP 错误吗?

php - 为什么可以从字符串变量实例化类而不是 PHP 中的字符串?

android - onclick 按钮没有获取 api 的编辑文本字符串