我是magento REST API的初学者,我将如何获得令牌和令牌秘密以填写Postman REST resquest。我只有消费者密钥和消费者秘密。 请提供我要遵循的步骤。
答案 0 :(得分:62)
首先,您要申请有效的OAuth令牌和密码。通过使用oauth_callback的GET参数命中Magento商店的/ oauth / initiate URL来执行此操作。我们将使用httpbin,以便我们可以回显传递给回调的任何内容。确保你有"自动添加参数"检查Postman的OAuth 1.0设置。
那会给你一个oauth_token和oauth_token_secret,这只是暂时的。这些被称为"请求令牌"和秘密。将这些值保存在某处,因为稍后您将需要它们。
现在,将新的常规HTTP请求汇编到Magento商店的/ admin / oauth_authorize URL。这将返回一个登录表单,您可以在其中接受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调用正常工作。
答案 1 :(得分:2)
@Franklin P Strube不幸的是,我没有足够的声誉来添加评论。
我想补充以下内容。 Magento REST API在URL和Oauth标头上不需要两个outh参数。这实际上没有在上面说明。请参阅最后一个注释,表示您需要"在标题中添加参数"。你需要这样做,但是当你这样做时,你会发现它发送了url params和oauth标题。你不需要url parms,没有它们就可以正常工作。 顺便说一句:富兰克林的反应非常好!
答案 2 :(得分:1)