【问题标题】:Verify Authentication with Oauth2client in Python在 Python 中使用 Oauth2client 验证身份验证
【发布时间】:2017-12-01 06:39:00
【问题描述】:

我正在编写一个脚本,该脚本使用 API 定期将数据添加到谷歌表格。 Google 建议在此过程中使用 oauth2client python 包。由于我想让这个脚本运行一段时间,有没有办法验证身份验证是否仍然有效,如果没有,重新进行身份验证?

【问题讨论】:

  • 你说的认证是指访问令牌吗?您想知道访问令牌的过期时间,并知道如何更新访问令牌。我的理解正确吗?
  • 是的,@Tanaike,差不多。
  • 感谢您的回复。我发布了我的答案。请确认。
  • 我的回答对您有用吗?

标签: python api oauth-2.0


【解决方案1】:

这个答案怎么样?

1。如何检索过期时间

为了检索访问令牌的过期时间,您可以使用谷歌 API 之一的 tokeninfo。

端点:

GET https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=### access token ###

卷曲示例:

curl -L https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=### access token ###

您无需授权即可使用此功能。

回应:

{
 "azp": "#####",
 "aud": "#####",
 "scope": "#####",
 "exp": "1234567890",
 "expires_in": "3600",
 "access_type": "offline"
}

您可以检索到期时间。

  • exp 表示访问令牌的过期时间。
  • expires_in 表示访问令牌的剩余时间。

2。如何更新访问令牌

您可以使用刷新令牌检索新的访问令牌。过期时间被重置。当您检索访问令牌时,您已经拥有刷新令牌。

如果你有它,你可以使用它。如果您没有刷新令牌,您可以在here 了解如何检索它。我记得我以前回答过这个问题。

参考资料:

  • tokeninfo
    • 在本文档中,查询是id_token。如果是访问令牌,请使用access_token。
  • refresh token

如果这对你没有用,我很抱歉。

【讨论】:

    猜你喜欢
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多