Enum AuthMode

AuthMode

一个枚举,用于标识 Apps 脚本可以通过触发的函数执行哪些类别的授权服务。这些值在触发的函数中作为事件参数 eauthMode 属性公开。如需了解详情,请参阅插件授权生命周期指南

若要调用枚举,您可以调用其父类、名称和属性。例如 ScriptApp.AuthMode.CUSTOM_FUNCTION

function onOpen(e) {
  var menu = SpreadsheetApp.getUi().createAddonMenu();
  if (e && e.authMode == ScriptApp.AuthMode.NONE) {
    // Add a normal menu item (works in all authorization modes).
    menu.addItem('Start workflow', 'startWorkflow');
  } else {
    // Add a menu item based on properties (doesn't work in AuthMode.NONE).
    var properties = PropertiesService.getDocumentProperties();
    var workflowStarted = properties.getProperty('workflowStarted');
    if (workflowStarted) {
      menu.addItem('Check workflow status', 'checkWorkflow');
    } else {
      menu.addItem('Start workflow', 'startWorkflow');
    }
    // Record analytics.
    UrlFetchApp.fetch('http://www.example.com/analytics?event=open');
  }
  menu.addToUi();
}

属性

媒体资源类型说明
NONEEnum一种不允许访问任何需要授权的服务的模式。当插件执行 onOpen(e) 简单触发器,并且用户已在其他文档中安装了插件,但该插件尚未在当前文档中使用时,就会出现这种情况。
CUSTOM_FUNCTIONEnum一种模式,允许访问有限的服务子集,以用于自定义电子表格函数。其中一些服务(包括对电子表格服务的只读权限)通常需要授权,但在自定义函数中使用时可以在未经授权的情况下获得使用。由于自定义函数不包含事件参数,因此此值永远不会返回;记录该值只是为了证明自定义函数在自己的授权模式下运行。
LIMITEDEnum一种模式,允许访问有限的服务。当绑定到文档的插件或脚本执行 onOpen(e)onEdit(e) 简单触发器时,就会出现此模式(与 NONE 介绍的情况除外)。
FULLEnum一种模式,允许访问所有需要授权的服务。当插件或脚本作为任何触发器的结果(LIMITEDNONE 所述的情况除外)执行时,就会出现此模式。