我是 magento REST API 的初学者,我将如何获取令牌和令牌秘密来填写 Postman REST 请求。我只有消费者密钥和消费者秘密。请提供我要遵循的步骤。
3 回答
首先,您要请求有效的 OAuth 令牌和密钥。通过使用 oauth_callback 的 GET 参数点击 Magento 存储的 /oauth/initiate URL 来执行此操作。我们将使用 httpbin,以便我们可以回显任何传递给回调的内容。确保在 Postman 的 OAuth 1.0 设置中选中“自动添加参数”。
这会给你一个 oauth_token 和 oauth_token_secret,它们只是暂时的。这些被称为“请求令牌”和秘密。将这些值保存在某处,因为稍后您将需要它们。
现在,向 Magento 商店的 /admin/oauth_authorize URL 组装一个新的常规 HTTP 请求。这将返回一个登录表单,您可以在其中接受 oauth 令牌并授权您的应用程序,但是由于我们使用的是 Postman,因此我们无法与该表单进行交互。
相反,查看源代码并拉出 form_key 隐藏的输入值。然后组装一个新的 HTTP 请求来伪造授权表单的提交。确保它是一个 POST 请求。您的新 HTTP 请求应如下所示。
现在,您需要实际确认授权。只需使用 oauth_token 作为参数向 Magento 商店的 /admin/oauth_authorize/confirm URL 发出 GET 请求。当您发送此请求时,它将从第一步重定向到您的 oauth_callback。现在,您可以看到为什么我们在第一步中使用 httpbin 作为回调。
好的。所以,我们快到家了。难题的最后一块是一起使用 oauth_token、oauth_secret 和 oauth_verifier 来获得有效且持久的“访问令牌”。因此,从第一步中获取 oauth_token_secret,并像这样组合和组装一个新的 OAuth 请求。
你应该得到一个返回的令牌和秘密。这些永远不会过期!您可以使用它们来查询产品和东西。
现在,您可以像这样组装您的 OAuth 请求。编辑:注意,您必须选中“将参数添加到标题”复选框,以便 Magento REST 调用正常工作。
@Franklin P Strube 不幸的是,我没有足够的声誉来添加评论。
我想补充以下内容。Magento REST API 不需要 URL 和 Oauth 标头上的两个输出参数。这实际上并没有在上面说明。请参阅最后一个注释,它说您需要“将参数添加到标题”。您确实需要这样做,但是当您这样做时,您会发现它同时发送 url 参数和 oauth 标头。您不需要 url 参数,没有它们也可以正常工作。顺便说一句:富兰克林的反应很好!