首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >oauth2client凭据refresh_token变为空

oauth2client凭据refresh_token变为空
EN

Stack Overflow用户
提问于 2014-08-14 08:11:51
回答 1查看 2.6K关注 0票数 5

背景

  1. 我让access_token使用示例实现了Google。
  2. 为了实现离线访问,我添加了FLOW.params['access_type'] = 'offline'
  3. 存储的credentials_json = credentials.to_json()。它包含一个refresh_token
  4. 还原凭据Credentials.new_from_json(credentials_json)
  5. 使用此凭据可获得credentials.authorize(http)的访问权限。
  6. 完美地工作=)

问题所在

  1. 我每5分钟做一次同样的事。
  2. 在每次迭代中,我都会存储凭证并打印出来。
  3. 1小时45分钟后,"refresh_token“变为空。
  4. 此时,代码停止工作=(

我的问题

  1. Credentials类会自动刷新它的令牌吗?
  2. 如果没有,我应该在哪个点调用credentials.refresh(http)

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-09-22 06:17:52

每次访问令牌过期时,刷新令牌都用于获取新的访问令牌。

谷歌( 这里 )表示,访问令牌到期时会使用刷新令牌自动刷新。

在我们的应用程序中,当令牌即将到期时,我们调用credentials.refresh(http)

if (credentials.token_expiry - datetime.utcnow()) < timedelta(minutes=refresh_mins): credentials.refresh(httplib2.Http())

在我们的代码库中,refresh_mins的默认值为15。这是因为访问令牌在60分钟内过期。我们每45分钟刷新一次。有关此问题的更多详细信息,请参阅这里

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25303126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档