Enum AuthMode

Auth模式

這個列舉可識別 Apps Script 可透過觸發函式執行哪些類別的授權服務。這些值會在觸發函式中公開,做為事件參數 eauthMode 屬性。詳情請參閱外掛程式授權生命週期指南

如要呼叫列舉,請呼叫其父項類別、名稱和屬性。例如 ScriptApp.AuthMode.CUSTOM_FUNCTION

function onOpen(e) {
  const 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).
    const properties = PropertiesService.getDocumentProperties();
    const 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 所述的情況) 時,就會進入這個模式。