处理Google API日历删除的访问权限

时间:2019-02-27 14:02:30

标签: google-api google-calendar-api google-oauth google-oauth2 google-api-nodejs-client

我正在将此googleapis nodejs client用于日历,并且一切正常,但是,如果我从Google帐户安全设置中删除了访问权限,  日历仍处于连接状态。有什么方法可以检查从Google帐户中删除的访问权限吗?该如何处理?

1 个答案:

答案 0 :(得分:1)

当用户首次运行您的应用程序时,会向他们显示同意书。要求他们授予您的应用程序访问其Google日历数据的权限。从这时起,您的应用程序运行时,用户可能不得不再次登录,但不必授予您的应用程序权限。如果您有刷新令牌,则可以在需要任何新访问令牌时使用它。访问令牌的有效期为一小时。

现在,如果您请求一个新的访问令牌(如所述),有效期为一小时。即使用户转到Google Account security获取其帐户并删除了应用程序访问其数据的同意,也是如此。

在您当前拥有的任何访问令牌都有效的情况下,您仍将能够访问其数据。如果用户尝试再次使用您的应用程序,则必须征得其许可。如果您尝试使用刷新令牌,它将不再起作用。

访问令牌有效期为一小时,在此期间它们未被假定为有效,因此未经重新授权。 (实际上,这可能取决于所涉及的范围和API,以及Google的政策服务器的工作方式。)

access token被设计为独立的权限系统。只要您拥有正确范围的访问令牌,大多数api都会假设您具有访问权限。但是,如果此方法正在访问关键数据,则它们可能具有策略服务器设置。该服务器可能正在对访问令牌进行额外的检查,以确保即使用户具有有效的访问令牌,用户仍然可以访问。但是,由于重新评估每个呼叫以确保用户仍然具有访问权限,因此这样做可能非常耗时且占用大量资源。这样做首先要使有效期为一个小时的访问令牌无效。