8

我已经在 Ubuntu 12.0.4 服务器上安装了 Magento 1.7.0.2,一切正常。

使用管理员角色测试 REST API (http://1.2.3.4/magento/api/rest/products) 我得到这个结果:

<magento_api>
  <messages>
    <error>
      <data_item>
      <code>403</code>
        <message>Access denied</message>
      </data_item>
    </error>
  </messages>
</magento_api>

我创建了一个管理员角色,授予所有访问权限,并且令牌身份验证过程正常。

我尝试过使用 magento go 服务、Bitnami VM 和 Windows 安装程序,但似乎不存在 Web 服务(我只能在 Web 服务下看到用户/角色)。

您知道使用 REST API 工作的 magento 设置吗?

我该如何调试这种错误?我尝试过使用不同的 REST 客户端。

谢谢!

4

5 回答 5

3

您是否为角色和属性设置了权限?如果不检查,请先做 magentocommerce.com/api/rest/permission_settings/

于 2013-04-11T11:27:13.127 回答
1

我曾经为 magento 测试过 REST API ..

我关注的博客帮助我设置了 REST Api

1.首先

2.秒

3.第三

我使用 RESTClient 插件进行火狐测试,并确保在服务器上启用了 Oauth。

于 2012-11-17T09:29:24.847 回答
0

检查以下帖子。这可能对您有所帮助。

Oauth 休息 api

并且

使用管理员用户获取产品

于 2013-03-02T06:33:12.280 回答
0

感谢那里的chanz,我找到了解决我自己问题的方法。

它似乎不接受 OAuth 参数作为查询字符串参数。我尝试将它们作为 HTTP 标头发送,但它正在通过。

来源:http ://www.aschroder.com/2012/04/introduction-to-the-magento-rest-apis-with-oauth-in-version-1-7/comment-page-1/#comment-5090

当然,请确保您在System > Web Services > Web Roles和具有正确的设置System > Web Services > Web Attributes

使用Ruby oAuth 库也很有帮助,因为“它干净、简单且运行良好”。见那里的帖子。

于 2014-05-26T02:04:42.157 回答
-2

您应该在 api 中针对这个问题尝试这些:-

1)更改文件/app/code/core/Mage/Api2/Model/Auth.php中的值,将DEFAULT_USER_TYPE = 'guest'的值更改为DEFAULT_USER_TYPE = 'admin'。

2) 更改文件/app/code/core/Mage/Api2/Model/Auth/Adapter.php 中的值,将这一行从return (object) array('type' => Mage_Api2_Model_Auth::DEFAULT_USER_TYPE, 'id' => 空);为此:返回(对象)数组('type' => Mage_Api2_Model_Auth::DEFAULT_USER_TYPE, 'id' => '1'); (注意:仅将 null 更改为 '1')。

3)重启你的服务器(对于 apache 运行这个命令:sudo service apache2 restart)。我希望这些步骤能解决您的 403 访问被拒绝问题。

于 2016-04-30T08:56:44.423 回答