来自Magento维基:
获取API令牌时,您可以通过以下方式获取未经授权的请求令牌来开始:
www.mystore.com/oauth/initiate
但是,我的代码不起作用,当我在浏览器中浏览上面的网址时,我得到了404.
我将商店商店代码附加到基本网址(例如www.mystore.com/en/)我不知道这是否会改变任何内容。
答案 0 :(得分:13)
Magento Wiki有一个错字:
$adminAuthorizationUrl = 'http://yourhost/admin/oAuth_authorize';
应该是:
$adminAuthorizationUrl = 'http://yourhost/admin/oauth_authorize';
答案 1 :(得分:5)
我在这一天的大部分时间都在努力解决这个问题,所以这是一个迟到的贡献,以防它对任何人有所帮助:
Magento记录的授权URL admin / oauth_authorize假定您没有使用自定义URL进行管理员访问。 “admin”是访问Magento仪表板的标准URL,但许多人为了安全起见对其进行了更改。如果您已将管理员网址更改为“admin”以外的其他网址,请使用该网址。
如果你在https://yoursite.com/foo访问Magento仪表板,那么你的授权网址是foo / oauth_authorize。
答案 2 :(得分:4)
我遇到了同样的问题。没有太多类似的问题可以找到,也没有解决方案。这很奇怪,因为这似乎是一个缺少的配置选项'global / request / direct_front_name',它未在Core / Oauth模块中设置。如果没有这个重要的设置,所有教程如何工作?
如果没有“oauth”设置,每次调用/ oauth / [controller]都会导致“noRouteAction”被解析(参见.Mage_Core_Controller_Request_Http :: setPathInfo()和Mage_Core_Controller_Request_Http :: isDirectAccessFrontendName($ storeCode))而不是默认的indexAction
因此,解决方案是在本地配置或自己的扩展中设置此设置,如下所示
<?xml version="1.0"?>
<config>
[...]
<global>
[...]
<request>
[...]
<direct_front_name>
<oauth/>
</direct_front_name>
</request>
</global>
</config>
之后你终于可以获得令牌了。我现在正在检查进一步的流程。
答案 3 :(得分:2)
我也遇到了问题,以下请求返回了404 http状态:
http://yourmagentostore.com/oauth/initiate
解决方案非常简单:如果您在同一个域上使用多个商店和/或存储视图,请不要忘记添加映射到商店视图的URL路径。 E.g。
http://yourmagentostore.com/<my-store-view-path>/oauth/initiate
答案 4 :(得分:0)
有一个细微之处不要忘记http://所以你对商店的调用应该是
http://yourmagentostore.com/oauth/initiate
此外,还有更多的REST服务设置然后在您发布的链接上,它只是一个概述。在您实际获得休息响应之前,商店中有大量配置,当用户未被识别,未经授权或没有正确的ACL权限时,您将获得404或500响应。我想这会阻止黑客攻击,但这是一个麻烦射击的熊。我一直走在这条路上,虽然我使用的是自动化工具,但商店的安装和故障排除是一样的。
在我的博客上查看我使用Magento REST API进行冒险的最新版本
干杯!
Rich Borek
http://magento-simplified.blogspot.com