2013-01-23 38 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。