我们从magento管理员端配置了REST API用户和权限。然后我们尝试了使用客户密钥和秘密的授权方法,并获得了访问令牌和令牌密钥。
然后我们尝试使用OAuth 1.0版调用API URL
[Magentosite]/api/rest/products
但以404错误结束。
还有一些我发现网址必须是以下格式...
[Magentosite]/api.php?type=rest/products
但以指定的无效Web服务适配器结束。
使用magento版本 - 1.9.0.1
有人可以建议这个网址的电话有什么问题吗?
我们在apache文件中添加了以下更改后,它工作并得到了响应
/etc/apache2/sites-available/default
<Directory /var/www/mymagento/>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
在我的情况下,即使我的localhost配置正确,我仍然收到404,因为在我的请求标题中我没有发送内容类型:
内容类型:文本/ XML
在第一次成功请求之后,我能够使用api,并且在下一个请求中,内容类型不是必需的,即使我没有发送正确的凭据,magento也会返回503,而不是之前的404 。
你已经回答了你的问题,magento访问REST API,你得到404 url找不到大多数链接到missOverride所有你的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中添加您的设置
在我的情况下,生产服务器的.htaccess缺少以下行,我通过比较我的localhost和生产服务器的.htacess文件得出结论。
############################################
## rewrite API2 calls to api.php (by now it is REST only)
RewriteRule ^api/rest api.php?type=rest [QSA,L]