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

Yayınlanan Düzenleyici Eklentileri, düzenleyicilerinin Uzantılar menüsünde ö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, kullanıcı tarafından yetkilendirilmeden önce ilk menüyü oluşturmalıdır. Bu nedenle, yetkilendirme modu onOpen(e) ile menüler oluşturmadan önce. Hiçbir işlem yapmaya çalışmayın veya Properties) Eklenti ScriptApp.AuthMode.NONE sürümündeyken. Yetkilendirme modları ve yaşam döngüsü hakkında daha fazla bilgi için yetkilendirme yaşam döngüsü bölümüne bakın.

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