使用Magento REST API

时间:2013-12-01 17:46:05

标签: api magento rest oauth

我已经搜索过(包括Stackoverflow),了解如何使用Magento REST API。我需要有关获取未授权请求令牌的帮助(第一步)

在Magento设置上我正在使用REST API正在为Guest的GET产品工作,所以我知道这不是[问题] [1]

我已为上述网址设置了OAuth使用者,同时拥有使用者密钥和密钥。我无法弄清楚用于回调网址的URL。

首先,在设置使用者时,我被卡住了,不知道应该使用什么作为回调网址。它是Magento中的可选字段

我正在根据http://www.magentocommerce.com/api/rest/testing_rest_resources.html

使用Firefox REST客户端进行测试

接下来使用Firefox REST客户端,我无法通过获取未经授权的请求令牌开始。根据上面的URL我应该在标题中有oauth_callback URI。

  

Authorization标头中应包含以下请求参数:

     

oauth_callback - 服务提供商在授权完成后将资源所有者(用户)重定向到的URI。   oauth_consumer_key - 在注册应用程序后检索的Consumer Key值。   oauth_nonce - 由应用程序唯一生成的随机值。   oauth_signature_method - 用于签署请求的签名方法的名称。可以具有以下值之一:HMAC-SHA1,RSA-SHA1和PLAINTEXT。   oauth_signature - 生成的值(签名)。   oauth_timestamp - 一个正整数,以1970年1月1日00:00:00 GMT之后的秒数表示。   oauth_version - OAuth版本。

使用上述网址时oauth_callback URI是什么?

当我尝试POST Endpoint: /oauth/initiate

我明白了:

  

oauth_problem = parameter_absent&安培; oauth_parameters_absent = oauth_callback

我迷路了,不知道还能尝试什么。我是一名新手程序员,也是Magento REST API的新手......所以请记住这一点。可能我只是错过了显而易见的事实 任何有兴趣帮助我解决这个问题的人都是消费者密钥和秘密。

key: d2f4a7cc63715f98d12db2c6db63cfba

secrect: 8347474102cbf2d40b06f9d76f281e73

网址为:http://temp.pramier.com

这是来自测试安装,所以我不担心发出密钥和秘密

3 个答案:

答案 0 :(得分:1)

传递 oauth_callback ,如http://temp.pramier.com/admin。 你就在这一步:

获取未经授权的请求令牌

验证用户的第一步是从Magento检索请求令牌。这是一个临时令牌,将被替换为访问令牌。

端点: / oauth / initiate

说明:身份验证的第一步。允许您获取用于其余身份验证过程的请求令牌。

方法: POST

返回:请求令牌

示例回复: oauth_token = 4cqw0r7vo0s5goyyqnjb72sqj3vxwr0h& oauth_token_secret = rig3x3j5a9z5j6d4ubjwyf9f1l21itrr& oauth_callback_confirmed = true

你应该继续获得令牌。 这是最好的(官方)教程: http://devdocs.magento.com/guides/m1x/api/rest/authentication/oauth_authentication.html#OAuthAuthentication-UsingOAuth

答案 1 :(得分:0)

我不确定您使用的是哪种编程语言,但API列出了底部php中验证和检索产品的代码。

我刚刚使用代码here开始在ruby中处理此问题。

@consumer=OAuth::Consumer.new auth["consumer_key"], 
                          auth["consumer_secret"], 
                          {:site=>"your-site-here"}

@request_token = @consumer.get_request_token

如果我误解了您的问题或者在我的解释中没有明确说明,请告诉我。

答案 2 :(得分:0)

请按照这些说明进行操作:

http://inchoo.net/magento/configure-magento-rest-and-oauth-settings/

之后,请按照以下步骤操作:

http://www.aschroder.com/2012/04/introduction-to-the-magento-rest-apis-with-oauth-in-version-1-7/

在本文开头,作者要求使用名为oAuth的Ruby程序。如果您使用的是Linux,请将这些命令放入命令行以安装Ruby和oAuth:

sudo apt-get install ruby

sudo gem install oauth

请注意,如果你准确地说:

--authorize-url http://www.yourstore.com/magento/oauth/authorize \

当您想要登录时,您将收到权限错误。您应该将其替换为:

--authorize-url http://www.yourstore.com/magento/admin/oauth_authorize \

一切都应该顺利进行。