使用 Magento REST API

问题描述 投票:0回答:3

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

在 Magento 设置中,我使用的 REST API 正在为访客获取产品,所以我知道这不是[问题][1]

我已经为上述 URL 设置了 OAuth Consumer,并且拥有消费者密钥和秘密。我不知道回调 URL 使用什么 URL。

首先,我陷入困境,不知道在设置消费者时应该使用什么作为回调 URL。这是 Magento 中的可选字段

我正在按照 http://www.magentocommerce.com/api/rest/testing_rest_resources.html

使用 Firefox REST 客户端进行测试

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

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

oauth_callback - 授权完成后服务提供商将资源所有者(用户)重定向到的 URI。 oauth_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 版本。

使用上述 URL 时,oauth_callback URI 是什么?

当我尝试发帖到

Endpoint: /oauth/initiate

我得到:

oauth_problem=parameter_absent&oauth_parameters_absent=oauth_callback

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

key: d2f4a7cc63715f98d12db2c6db63cfba

secrect: 8347474102cbf2d40b06f9d76f281e73

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

这是测试安装,所以我不担心泄露密钥和秘密

magento oauth magento-rest-api
3个回答
1
投票

http://temp.pramier.com/admin 一样传递 oauth_callback。 您正处于这一步:

获取未经授权的请求令牌


验证用户身份的第一步是从 Magento 检索请求令牌。这是一个临时令牌,将用于交换访问令牌。

端点:/oauth/initiate

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

方法:发布

返回:请求令牌

示例响应: oauth_token=4cqw0r7vo0s5goyyqnjb72sqj3vxwr0h&oauth_token_secret=rig3x3j5a9z5j6d4ubjwyf9f1l21itrr&oauth_callback_confirmed=true


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


0
投票

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

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

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

@request_token = @consumer.get_request_token

如果我误解了您的问题或解释不清楚,请告诉我。


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 \

一切都应该顺利。

© www.soinside.com 2019 - 2024. All rights reserved.