22

我是 magento REST API 的初学者,我将如何获取令牌和令牌秘密来填写 Postman REST 请求。我只有消费者密钥和消费者秘密。请提供我要遵循的步骤。

4

3 回答 3

68

首先,您要请求有效的 OAuth 令牌和密钥。通过使用 oauth_callback 的 GET 参数点击 Magento 存储的 /oauth/initiate URL 来执行此操作。我们将使用 httpbin,以便我们可以回显任何传递给回调的内容。确保在 Postman 的 OAuth 1.0 设置中选中“自动添加参数”。

OAuth 令牌请求

这会给你一个 oauth_token 和 oauth_token_secret,它们只是暂时的。这些被称为“请求令牌”和秘密。将这些值保存在某处,因为稍后您将需要它们。

OAuth 令牌响应

现在,向 Magento 商店的 /admin/oauth_authorize URL 组装一个新的常规 HTTP 请求。这将返回一个登录表单,您可以在其中接受 oauth 令牌并授权您的应用程序,但是由于我们使用的是 Postman,因此我们无法与该表单进行交互。

OAuth 授权表

相反,查看源代码并拉出 form_key 隐藏的输入值。然后组装一个新的 HTTP 请求来伪造授权表单的提交。确保它是一个 POST 请求。您的新 HTTP 请求应如下所示。

OAuth 授权表提交

现在,您需要实际确认授权。只需使用 oauth_token 作为参数向 Magento 商店的 /admin/oauth_authorize/confirm URL 发出 GET 请求。当您发送此请求时,它将从第一步重定向到您的 oauth_callback。现在,您可以看到为什么我们在第一步中使用 httpbin 作为回调。

OAuth授权确认

好的。所以,我们快到家了。难题的最后一块是一起使用 oauth_token、oauth_secret 和 oauth_verifier 来获得有效且持久的“访问令牌”。因此,从第一步中获取 oauth_token_secret,并像这样组合和组装一个新的 OAuth 请求。

OAuth 令牌

你应该得到一个返回的令牌和秘密。这些永远不会过期!您可以使用它们来查询产品和东西。

OAuth 令牌响应

现在,您可以像这样组装您的 OAuth 请求。编辑:注意,您必须选中“将参数添加到标题”复选框,以便 Magento REST 调用正常工作。

OAuth REST 请求

于 2015-01-21T17:03:19.887 回答
5

Postman 版本 6.xx 中的示例请求

图像.png

这个请求的响应是

图像.png

您可以从 Magento Admin 获取此凭据。单击集成页面中的编辑图标。

图像.png

于 2018-06-18T13:21:03.590 回答
2

@Franklin P Strube 不幸的是,我没有足够的声誉来添加评论。

我想补充以下内容。Magento REST API 不需要 URL 和 Oauth 标头上的两个输出参数。这实际上并没有在上面说明。请参阅最后一个注释,它说您需要“将参数添加到标题”。您确实需要这样做,但是当您这样做时,您会发现它同时发送 url 参数和 oauth 标头。您不需要 url 参数,没有它们也可以正常工作。顺便说一句:富兰克林的反应很好!

于 2016-08-25T03:44:51.883 回答