2013-01-23 22 views
1

我是Google Apps管理員,使用xoauth.py和IMAP下載沒有用戶密碼的用戶郵件。但是這個過程在1小時後停止。我搜索了很多博客,並且我知道這個令牌在1小時後過期。任何人都可以告訴我如何延長到永不過期的時間,或者如何刷新此令牌?xoauth.py IMAP令牌在1小時後過期

回答

1

我假設您使用服務帳戶,OAuth 2.0和模擬在這裏?請參閱:

https://developers.google.com/accounts/docs/OAuth2ServiceAccount#expiration

有沒有辦法刷新令牌或增加的到期時間。您的應用程序應該緩存給定的令牌以用於所有IMAP連接一個小時。之後,它應該生成另一個JWT,簽名並請求另一個訪問令牌。

+0

謝謝傑伊,我試着再次重新生成令牌,但失敗了。請指導我通過它,因爲我的應用程序因爲這一點而被阻塞。 –

+0

根據下面的代碼示例,它看起來像是在使用2段OAuth 1.0而不是OAuth 2.0。您應該使用與重新連接時用於初始生成xoauth字符串的完全相同的代碼。請注意,OAuth 1.0 xoauth字符串在10分鐘後過期,而不是一小時: –

+0

正是如此。我使用2腿oauth但不知道它的1.0或2.0。 10分鐘後不到1小時即可過期。我試圖同時下載5個用戶的電子郵件,並且工作正常,直到1小時。現在,當我嘗試重新生成xoauth字符串時,它會提供以下錯誤:RuntimeError:調用Python對象時超出了最大遞歸深度 –

0

嘗試:.. catch:..邏輯可以用來處理這樣的異常。

由於Google已經退役OAuth1.0,因此建議使用OAuth2.0而不是OAUth1。