Enum AuthMode

AuthMode

列舉項目,指出 Apps Script 能透過已觸發的函式執行的授權服務類別。這些值會在觸發函式中以 e 做為事件參數authMode 屬性顯示。詳情請參閱外掛程式的授權生命週期指南

如要呼叫列舉,您可以呼叫其父項類別、名稱和屬性。例如 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 描述情況以外的任何觸發條件執行,就會發生此模式。