Enum AuthMode

AuthMode

トリガーされた関数を使用して Apps Script が実行できる承認済みのサービスのカテゴリを識別する列挙型。これらの値は、イベント パラメータeauthModeプロパティとしてトリガーされた関数で公開されます。詳細については、アドオンの承認ライフサイクルに関するガイドをご覧ください。

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();
}

Properties

プロパティ種類説明
NONEEnum認証が必要なサービスへのアクセスを許可しないモード。このモードは、アドオンが onOpen(e) シンプル トリガーを実行し、ユーザーが別のドキュメントにアドオンをインストールしたものの、現在のドキュメントではアドオンが使用されていない場合に発生します。
CUSTOM_FUNCTIONEnumカスタム スプレッドシート関数で使用する一部のサービスにアクセスできるモード。これらのサービスの一部(スプレッドシート サービスへの読み取り専用アクセスを含む)では通常、承認が必要になりますが、カスタム関数で使用する場合は承認なしで許可されます。カスタム関数にはイベント パラメータが含まれていないため、この値が返されることはありません。カスタム関数は独自の認証モードで実行されることを実証することのみを目的として記載しています。
LIMITEDEnum一部のサービスにのみアクセスできるモード。このモードは、ドキュメントにアドオンまたはスクリプトがバインドされて、onOpen(e) または onEdit(e) の単純なトリガーを実行したときに発生します。ただし、NONE の例外を除きます。
FULLEnum認可を必要とするすべてのサービスへのアクセスを許可するモード。このモードは、LIMITED または NONE の場合に限らず、アドオンまたはスクリプトがトリガーの結果として実行された場合に発生します。