ee.data.authenticateViaOauth

通过适用于 JavaScript 的 Google API 客户端库配置 EE API 调用的客户端身份验证。如果库尚未加载到网页上,系统会自动加载该库。如果用户之前未曾授予 clientId 所标识的应用对其 EE 数据的访问权限,系统会要求用户授予该权限。

应在 ee.initialize() 之前调用此方法或其他身份验证方法。

请注意,如果用户之前未向客户端 ID 所标识的应用授予访问权限,则默认情况下,此方法会尝试弹出一个对话框,提示用户授予所需权限。不过,此弹出式窗口可能会被浏览器屏蔽。为避免这种情况,请指定 opt_onImmediateFailed 回调,并在其中呈现一个网页内登录按钮,然后从该按钮的点击事件处理脚本中调用 ee.data.authenticateViaPopup()。这样一来,浏览器就不会再阻止弹出式窗口,因为该窗口现在是用户操作的直接结果。

系统会在可能的情况下自动刷新身份验证令牌。您可以放心地假设所有异步调用都将使用适当的凭据发送。不过,对于同步调用,您应使用 ee.data.getAuthToken() 检查是否存在身份验证令牌,如果没有,则手动调用 ee.data.refreshAuthToken()。令牌刷新操作是异步的,无法在同步调用之前按需在后台执行。

用法返回
ee.data.authenticateViaOauth(clientId, success, error, extraScopes, onImmediateFailed, suppressDefaultScopes)
参数类型详细信息
clientId字符串应用的 OAuth 客户端 ID,如果为 null,则停用经过身份验证的调用。您可以通过 Google Developers Console 获取此信息。项目必须具有与脚本运行的网域对应的 JavaScript 来源。
success函数如果身份验证成功,要调用的函数。
error函数(可选)如果身份验证失败,要调用的函数,并传递错误消息。如果立即(后台)模式下的身份验证失败,并且指定了 opt_onImmediateFailed,则会调用该函数,而不是 opt_error。
extraScopesList<String>,可选要请求的额外 OAuth 范围。
onImmediateFailed函数(可选)如果自动后台身份验证失败,则要调用的函数。默认为 ee.data.authenticateViaPopup(),绑定到传递的回调。
suppressDefaultScopes布尔值,可选如果为 true,则仅请求 opt_extraScopes 中指定的作用域;除非在 opt_extraScopes 中明确指定,否则不会请求默认作用域。