如何检查shopify会话是否已过期?

时间:2012-09-07 19:32:20

标签: shopify

说我在我的代码中有这个调用:

products = shopify.Product.find()
如果我刚刚登录,它可以工作,但过了一段时间后,它开始失败并显示错误AttributeError: 'NoneType' object has no attribute 'find'。我认为这是因为会话过期而我的代码没有检查。

有没有办法检查shopify会话是否已过期?我将商店URL和身份验证令牌存储在我的webapp2会话中:

self.session['shopify'] = {
    'shop_url': shopify_session.url,
    'access_token': shopify_session.token
    }
我需要在我的网络会话中存储任何其他属性,以便检查shopify会话是否已过期?

2 个答案:

答案 0 :(得分:0)

Shopify access_token永不过期,过期或已重置的您的会话。

如果您使用共享主机,那么重置会话的可能性要高得多,因为它们非常频繁地重置应用程序池。

如果是这种情况,那么您应该考虑使用持久会话而不是内存会话。如果您使用的是.NET,则可以阅读ASP.NET State ManagementConfigure SQL Server for ASP.NET SQL Server Session State

答案 1 :(得分:0)

这取决于你的访问模式,如果你想要一个永久的访问令牌,你应该使用离线访问模式,在线访问模式在用户会话过期后过期。

https://shopify.dev/concepts/about-apis/authentication#api-access-modes