我在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客户端。
谢谢!
答案 0 :(得分:3)
您是否为角色和属性设置了权限?如果没有,请先检查magentocommerce.com/api/rest/permission_settings /
答案 1 :(得分:1)
我曾经测试过REST API for magento ..
我关注博客帮助我设置REST Api
我使用RESTClient插件进行测试,并确保在服务器上启用了Oauth。
答案 2 :(得分:0)
答案 3 :(得分:0)
感谢Chanz,我找到了解决自己问题的方法。
它似乎不接受OAuth参数作为查询字符串 参数。我尝试将它们作为HTTP标头发送而不是它 经历。
当然,请确保您在System > Web Services > Web Roles
和System > 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拒绝访问问题。