Class AuthorizationInfo

授权信息

用于检查用户是否已授予脚本所需作用域的授权的对象。该对象还会提供授权网址,供用户授予这些权限。

在用户未同意脚本使用的所有必需权限的情况下,某些脚本执行可能会开始。借助此对象中的信息,您可以控制对需要特定作用域的代码段的访问权限,并请求授予这些作用域的授权以进行后续执行。

此对象由 ScriptApp.getAuthorizationInfo(authMode) 返回。在几乎所有情况下,脚本都应调用 ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL),因为没有其他授权模式需要用户授予授权。

方法

方法返回类型简介
getAuthorizationStatus()AuthorizationStatus获取一个值,该值表示用户是否需要授权此脚本使用一个或多个服务(例如 ScriptApp.AuthorizationStatus.REQUIRED)。
getAuthorizationUrl()String获取可用于授予对脚本的访问权限的授权网址。
getAuthorizedScopes()String[]获取脚本的已获授权范围列表。

详细文档

getAuthorizationStatus()

获取一个值,该值表示用户是否需要授权此脚本使用一个或多个服务(例如 ScriptApp.AuthorizationStatus.REQUIRED)。

// Log the authorization status (REQUIRED or NOT_REQUIRED).
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL);
Logger.log(authInfo.getAuthorizationStatus());

返回

AuthorizationStatus - 授权状态


getAuthorizationUrl()

获取可用于授予对脚本的访问权限的授权网址。如果无需授权,此方法会返回 null。如果网址被访问且脚本不需要任何授权,该网址对应的页面将自动关闭。

// Log the URL used to grant access to the script.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL);
Logger.log(authInfo.getAuthorizationUrl());

返回

String - 可用于授权脚本的网址


getAuthorizedScopes()

获取脚本的已获授权范围列表。如果系统针对指定的范围列表请求授权信息,则返回指定列表中的已授权范围。

// Logs which scopes in the specified list have been authorized for the script.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL, [
  'https: //www.googleapis.com/auth/documents',
  'https: //www.googleapis.com/auth/spreadsheets',
]);
Logger.log(authInfo.getAuthorizedScopes());

返回

String[] - 已获授权的范围列表。