我已经搜索了所有内容(包括 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/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
请按照此处的说明进行操作:
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 \
一切都应该顺利。