Magento OAuthException:Invalid auth/bad request
OAuthException Object ( [message:protected] => Invalid auth/bad request (got a 404, expected HTTP/1.1 20X or a redirect)…
在使用magento api rest时,安装好xampp及php安装oauth扩展 并 配置好了Magento REST和OAuth设置 且 在magento后台开启了URL重写,但通过官网例子老是无法成功,提示404错误如上。搜索网络提示要配置apache mod_rewrite和magento .htaccess。
Magento开启url重写请看:Magento去掉URL的index.php
apache mod_rewrite配置请看:Apache Mod_Rewrite URL重写 伪静态化
magento .htaccess文件配置请看:Magento 配置.htaccess文件
经过如上配置,本地windows、php5.4.22环境下测试通过,但移植到centos 6.5、php5.4.25环境下又出现如下500错误:
OAuthException Object ( [message:protected] => Invalid auth/bad request (got a 500, expected HTTP/1.1 20X or a redirect) …
经多方查找,stackoverflow上一个帖子说 是PHP OAuth client doesn’t send any accept header by default.需将magento官网事例中:
$oauthClient->fetch($resourceUrl, array(), ‘GET’, array(‘Content-Type’ => ‘application/json’));
改为:
$oauthClient->fetch($resourceUrl, array(), ‘GET’, array(‘Content-Type’ => ‘application/json’, ‘Accept’ => ‘application/json’));
经过上面修改后在centos 6.5、php5.4.25环境下测试通过(可能是php版本不一致oauth需不同方式连接)。
参看:
http://stackoverflow.com/questions/23821835/magento-rest-api
http://jingyan.baidu.com/article/54b6b9c0d12e662d593b4761.html
http://www.yebihai.com/magento/225.htmlh
http://www.jbxue.com/article/5280.html
http://www.bitscn.com/os/linux/200604/8023.html
http://www.jb51.net/article/31721.htm
http://blog.sina.com.cn/s/blog_a03d702f0101133h.html
http://my.hostours.com/knowledgebase/117/Magentohtaccess.html