应在 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。 |
extraScopes | List<String>,可选 | 要请求的额外 OAuth 范围。 |
onImmediateFailed | 函数(可选) | 如果自动后台身份验证失败,则要调用的函数。默认为 ee.data.authenticateViaPopup(),绑定到传递的回调。 |
suppressDefaultScopes | 布尔值,可选 | 如果为 true,则仅请求 opt_extraScopes 中指定的作用域;除非在 opt_extraScopes 中明确指定,否则不会请求默认作用域。 |