Düzenleyici Eklentileri için özel menüler

Yayınlanan Düzenleyici Eklentileri editörlerinin Uzantılar menüsünün altında özel menü öğeleri oluşturabilir. Şunları yapabilirsiniz: bir eklenti menüsü eklemek için Ui.createAddonMenu() yöntem ve Menu.addItem() yöntemidir. Menüler genellikle eklentinin onOpen(e) yöntemiyle oluşturulur.

Kullanıcı etkileşimlerine veya eklentiye göre değişen dinamik menüler oluşturabilirsiniz durumu. Ancak eklentiler, eklenti yüklenmeden önce bir başlangıç menüsü oluşturmalıdır. kullanıcı tarafından yetkilendirildi. Bu nedenle, yetkilendirme modu onOpen(e) ile menüler oluşturmadan önce. Hiçbir işlem yapmaya çalışmayın veya kontrol etmek için komut dosyası Properties) Eklenti ScriptApp.AuthMode.NONE sürümündeyken. Bkz. yetkilendirme yaşam döngüsü inceleyin.

Aşağıdaki örnekte, farklı web siteleri için dinamik eklenti menüsünün nasıl oluşturulacağı yetkilendirme modları:

function onOpen(e) {
  var menu = SpreadsheetApp.getUi().createAddonMenu(); // Or DocumentApp or SlidesApp or FormApp.
  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();
}