Google api Google API OAuth2:处理无效令牌

Google api Google API OAuth2:处理无效令牌,google-api,google-drive-api,google-oauth,Google Api,Google Drive Api,Google Oauth,在使用OAuth2时,我遇到了一个棘手的问题 首先向用户请求身份验证。他授予访问权限,并将凭据存储在存储区(DB、GAE数据存储区等)中 转到您的谷歌个人资料中的授权访问并撤销 应用程序 返回应用程序,启动导致API调用的操作(已测试 使用驱动器API) 应用正在从应用商店检索凭据。测试证书有效性 (不为null,无效属性为False) 调用API 检索401,未经授权的异常 如何在有效调用API之前检测到凭据无效? 也许这是使用凭证的方式 谢谢您的帮助。您正在存储哪些凭据?访问令牌?刷新令牌

在使用OAuth2时,我遇到了一个棘手的问题

  • 首先向用户请求身份验证。他授予访问权限,并将凭据存储在存储区(DB、GAE数据存储区等)中

  • 转到您的谷歌个人资料中的授权访问并撤销 应用程序

  • 返回应用程序,启动导致API调用的操作(已测试 使用驱动器API)

  • 应用正在从应用商店检索凭据。测试证书有效性 (不为null,无效属性为False)

  • 调用API

  • 检索401,未经授权的异常

  • 如何在有效调用API之前检测到凭据无效? 也许这是使用凭证的方式


    谢谢您的帮助。

    您正在存储哪些凭据?访问令牌?刷新令牌


    考虑使用tokeninfo端点,

    在使用access\u令牌之前,首先在GoogleAPI中调用[tokeninfo](如果它是新的access\u令牌,则始终如此)。我浪费了几个小时来解决这个问题。 Windows应用程序的我的工作流:

  • oAuth2->访问令牌*(*-未验证)
  • 带有[access_token*]->“ok”或“invalid”的GoogleAPI.tokeninfo
  • 如果“确定”-用于请求的权限

  • 我正在存储在执行OAuth步骤2时获得的凭证对象。根据文档(),它同时包含这两个部分。您可以调用tokeninfo以了解访问令牌的有效性,但如果访问令牌过期,并且您可以使用刷新令牌检索新令牌,则无法预测。