如何使用带有 Oauth 的 magento REST api 的 POSTMAN rest 客户端。如何获得Token和Token Secret?

How to use POSTMAN rest client with magento REST api with Oauth. How to get Token and Token Secret?

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

首先,您想要请求一个有效的 OAuth 令牌和密码。为此,请使用 oauth_callback 的 GET 参数点击 Magento 商店的 /oauth/initiate URL。我们将使用 httpbin 以便我们可以回显传递给回调的任何内容。确保您已 "Auto add parameters" 检查 Postman 的 OAuth 1.0 设置。

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

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

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

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

好的。所以,我们快到家了。最后一块拼图是将 oauth_token、oauth_secret 和 oauth_verifier 一起使用以获得有效且持久的 "access token"。因此,从第一步中获取 oauth_token_secret,然后像这样合并 assemble 一个新的 OAuth 请求。

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

现在,您可以像这样 assemble 您的 OAuth 请求。 编辑: 注意,您必须选中 "Add params to header" 复选框才能使 Magento REST 调用正常工作。

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

我想补充以下内容。 Magento REST API 不需要 URL 和 Oauth headers 上的两个 outh 参数。这实际上没有在上面说明。请参阅最后一条说明您需要 "add params to header" 的注释。您确实需要这样做,但是当您这样做时,您会发现它同时发送 url 参数和 oauth headers。您不需要 url 参数,没有它们也能正常工作。 顺便说一句:富兰克林的回应非常有效!

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

此请求的响应是

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