2012-09-07 93 views
0

說我在我的代碼中有這個電話: 如何檢查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 
    } 
是否有任何其他屬性需要存儲在我的Web會話中,以便檢查Shopify會話是否已過期?

+0

「X-Shopify-Access-Token」頭中使用的訪問令牌不應過期。你使用[shopify_python_api](https://github.com/shopify/shopify_python_api)庫嗎?什麼是返回無,或者如果在圖書館中發生錯誤,哪裏會發生?因爲據推測shopify.Product不是無。 –

+0

@Dylan,謝謝你的迴應。這是我的代碼中的一個錯誤。我沒有正確設置並激活shopify會話。所以shopify.Product返回None。如果不是NoneType錯誤會提供更多信息性消息,但我認爲它來自pyactive資源,而不是您的適配器。謝謝。 – akonsu

+0

@akonsu我面臨着類似的問題,你的問題是什麼,你是如何解決它的? – Aameer

回答

0

Shopifyaccess_token永不過期,該過期或者被重置的一個是會議。

如果您使用的是共享主機,那麼重置會話的可能性要高得多,因爲它們會非常頻繁地重置應用程序池。

如果是這種情況,那麼你應該考慮使用持久會話而不是內存會話。如果您使用的是.NET,那麼您可以閱讀ASP.NET State ManagementConfigure SQL Server for ASP.NET SQL Server Session State