gpt4 book ai didi

google-oauth - oauth2client 凭证 refresh_token 变为空

转载 作者:行者123 更新时间:2023-12-04 18:06:47 25 4
gpt4 key购买 nike

背景

  • 我使用 google-api-python-client django_sample 获得了 Google API 的 access_token .
  • 为了离线访问,我添加了 FLOW.params['access_type'] = 'offline' .
  • 已储存 credentials_json = credentials.to_json() .它包含一个 refresh_token .
  • 已恢复凭据 Credentials.new_from_json(credentials_json) .
  • 使用此凭据通过 credentials.authorize(http) 获得访问权限.
  • 完美运行 =)

  • 问题
  • 我每5分钟做一次同样的事情。
  • 在每次迭代中,我都会存储凭据并打印出来。
  • 1 小时 45 分钟后,“refresh_token”变为空。
  • 此时代码停止工作 =(

  • 我的问题
  • 是否Credentials类自动刷新它的 token ?
  • 如果没有,我应该在什么时候打电话credentials.refresh(http) ?

  • 谢谢!

    最佳答案

    您的刷新 token 用于在每次访问 token 过期时获取新的访问 token 。

    Here google 说访问 token 在过期时会使用刷新 token 自动刷新。

    在我们的应用程序中,我们调用 credentials.refresh(http)当 token 即将到期时
    if (credentials.token_expiry - datetime.utcnow()) < timedelta(minutes=refresh_mins):
    credentials.refresh(httplib2.Http())
    refresh_mins在我们的代码库中有一个默认值 15。这是因为访问 token 会在 60 分钟后过期。我们每 45 分钟刷新一次。更多详情请见 here

    关于google-oauth - oauth2client 凭证 refresh_token 变为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25303126/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com