Magento REST API响应获得404

时间:2015-01-14 13:35:03

标签: magento oauth

我们从magento管理员端配置了REST API用户和权限。 然后我们尝试了使用客户密钥和密钥的授权方法,并获得了访问令牌和令牌密钥。

然后我们尝试使用OAuth版本1.0调用API URL

[Magentosite]/api/rest/products 

但以404错误结束。

还有一些我发现网址必须采用以下格式...

[Magentosite]/api.php?type=rest/products 

但以指定的无效网络服务适配器结束。

使用magento版本 - 1.9.0.1

有人可以告诉我们这个网址直接有什么问题吗?

我们在apache文件中添加了以下更改

后,它起了作用并得到了响应
/etc/apache2/sites-available/default

<Directory /var/www/mymagento/>
  Options Indexes FollowSymLinks
   AllowOverride All
</Directory>

4 个答案:

答案 0 :(得分:0)

在我的情况下,即使我的localhost配置正确,我仍然收到404,因为在我的请求标题中我没有发送内容类型:

Content-Type:text / xml

在第一次成功请求之后,我能够使用api,并且在下一个请求中,内容类型不是必需的,即使我没有发送正确的凭据,magento也会返回503,而不是像以前那样的404。

答案 1 :(得分:0)

你已经回答了你的问题,magento访问REST API,你找到了404 url​​,大多数链接到了缺失的AllowOverride所有你的apache配置文件夹,如https://magento.stackexchange.com/questions/29936/rest-api-returns-404中所述

<Directory /var/www/html/magento/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

在/etc/apache2/apache2.conf中添加您的设置

答案 2 :(得分:0)

在我的情况下,生产服务器的.htaccess缺少以下行,我通过比较本地主机和生产服务器的.htacess文件得出了答案。

############################################
## rewrite API2 calls to api.php (by now it is REST only)

    RewriteRule ^api/rest api.php?type=rest [QSA,L]

答案 3 :(得分:0)

对于在遵循所有其他建议后仍然得到404的任何人,请确保未在Apache VirtualHost配置中设置MultiViews