magento访问被拒绝

时间:2012-09-24 15:13:38

标签: api magento rest oauth

我在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客户端。

谢谢!

5 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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

1.first

2.second

3.third

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

答案 2 :(得分:0)

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

Oauth rest api

以及

Get product using admin user

答案 3 :(得分: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 RolesSystem > Web Services > Web Attributes进行了正确的设置。

使用Ruby oAuth library也很有帮助因为&#34;它干净,简单且效果很好&#34;。见帖子there

答案 4 :(得分:-2)

你应该在api中试试这个问题: -

1)更改文件/app/code/core/Mage/Api2/Model/Auth.php中的值,更改以下值: DEFAULT_USER_TYPE ='来宾' 至 DEFAULT_USER_TYPE ='admin'。

2)更改文件/app/code/core/Mage/Api2/Model/Auth/Adapter.php中的值, 改变这一行 return(object)array('type'=&gt; Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE,'id'=&gt; null); 对此: return(object)array('type'=&gt; Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE,'id'=&gt;'1'); (注意:只将null更改为'1')。

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