尝试创建Shopify access_token时生成错误

时间:2017-03-14 07:40:11

标签: shopify access-token

我正在尝试在Shopify商店上安装我们的公共应用,并且重定向网址中返回的code用于生成访问令牌。 但是我们调用Shopify API来生成访问令牌总是会导致以下错误:

" oauth错误无效请求未找到或已使用授权码"

遵循的流程: 一旦Shopify显示点击接受安装我们的应用程序,他就会被重定向到以下网址:

http://mywebsite.com/?code=d119551fb7cdd820012c6b2cb7b12495&hmac=10976937c09a1f1e3db6275d12cae8fbd43415a6d5b031ec14a70128b8fe9dfe&shop=<retailer>.myshopify.com&state=11122777&timestamp=1478065253

mywebiste.com是我们的网站,它与Shopify商店集成,并通过访问令牌访问各种API .myshopify.com是实际的Shopify商店。

此重定向网址由Shopify商店所有者通过电子邮件提供给我们。

此网址包含code参数。我们使用此code参数并点击另一个Shopify API以生成访问令牌 - 使用以下URL: https://<retailer>.myshopify.com/admin/oauth/access_token并传递以下3个POST参数:client_id,client_secret和code

我们尚未编写用于创建访问令牌的程序,而是通过POSTMAN执行此过程来生成访问令牌,这是一个手动过程。我们计划编写脚本,该脚本将自动解析重定向的URL并生成访问令牌,但截至目前我们正在手动执行此操作。

让我知道您需要的任何其他细节,我会提供。 我在Shopify论坛上创建了类似的请求,但他们也建议将这个问题放在StackOverflow上供专家查看。

谢谢! 沙拉德帕

3 个答案:

答案 0 :(得分:1)

  

此重定向网址由Shopify商店所有者通过电子邮件提供给我们。

听起来code Shopify正在等待您等待店主与您分享时过期。我建议您创建一个开发商店,以便在Shopify返回后立即访问代码。您可以找到有关创建开发商店here的说明。

答案 1 :(得分:0)

为什么重定向网址是通过电子邮件提供的?

授权码的使用寿命有限,只能使用一次。授权代码应在发布后立即交换访问令牌。

我建议您再次阅读OAuth文档,因为您当前的流程似乎与文档中描述的内容不符。

https://help.shopify.com/api/getting-started/authentication/oauth

答案 2 :(得分:0)

我们决定与客户合作,并确定我们的客户在安装应用程序后重定向到我们的服务器时,点击了浏览器上的后退按钮。 此操作将我们的客户带回其管理页面,实际上将生成的代码呈现为已使用。 因此,实际上在我们可以用来生成访问令牌之前已经使用了代码。

我们阻止用户点击浏览器上的后退按钮,并使用在第一个实例中生成的代码来生成访问令牌并且它有效。 感谢Jamie您提供的有关“代码有生命周期并且只能使用一次”的输入 - 这让我有所思考。

此致 沙拉德帕