我正在关注的Shopify指令来获得永久令牌特定的应用程序/商店组合( http://api.shopify.com/authentication.html )。
我能够获得临时令牌,然后使用一个简单的HTML表单获得一个永久的标记:
但我得到的回应是:{“错误”:“INVALID_REQUEST”}
你能帮我吗? 我找遍(#1,Shopify支持论坛,等...),但无法找到如何解决这个问题的线索。 我的应用程序是在网上和在Heroku主持。
谢谢,
我正在关注的Shopify指令来获得永久令牌特定的应用程序/商店组合( http://api.shopify.com/authentication.html )。
我能够获得临时令牌,然后使用一个简单的HTML表单获得一个永久的标记:
但我得到的回应是:{“错误”:“INVALID_REQUEST”}
你能帮我吗? 我找遍(#1,Shopify支持论坛,等...),但无法找到如何解决这个问题的线索。 我的应用程序是在网上和在Heroku主持。
谢谢,
我认为,我们有类似的头脑! 我正经历着完全相同的问题,因为你。 我想我们都是通过文档糊涂了!
我使用生成的我的应用程序shopify_app
宝石。 这创建了以下方法login_controller.rb
:
def finalize
if response = request.env['omniauth.auth']
sess = ShopifyAPI::Session.new(params['shop'], response['credentials']['token'])
session[:shopify] = sess
flash[:notice] = "Logged in"
redirect_to return_address
session[:return_to] = nil
else
flash[:error] = "Could not log in to Shopify store."
redirect_to :action => 'index'
end
end
即(3号线ShopifyAPI::Session.new
)正在做的Shopify认证的第二步我们。 它获取我们永久的访问令牌。
变量sess
现在将包含两件事情:
url
) token
) 正如约翰·达夫说 - 我们已经有一个访问令牌! 我们并不需要张贴到 https://SHOP_NAME.myshopify.com/admin/oauth/access_token
。 它由生成的代码为我们处理shopify_app
宝石。
在我的finalize方法,我添加了一行:
def finalize
if response = request.env['omniauth.auth']
sess = ShopifyAPI::Session.new(params['shop'], response['credentials']['token'])
Shop.find_or_create_by_myshopify_domain(sess.url, access_token: sess.token)
...
这就产生了一个店,并为其分配访问令牌。 我的店铺模型具有的属性myshopify_domain
和access_token
。
在未来,如果我想使用ShopifyAPI对于店,我可以只需按照中的说明shopify_api宝石主页
我花了几个小时试图螺母这一个。 我不知道该文档如何能更清晰。 希望该问题再次出现时,人们发现这个StackOverflow的页面!
我希望这是对你的帮助。
干杯,尼克
一旦一旦期满时使用的代码,你需要存储的令牌或申请新的代码。 在日志的请求中的一个成功,那么你继续做与失败,因为代码是过期相同的代码访问令牌请求。
再次尝试请求允许并且与您收到的新代码的访问令牌调用。 确保存储访问令牌,因为代码不能再使用。