Yayınlanmış Düzenleyici eklentileri, düzenleyicilerinin Uzantılar menüsünde özel menü öğeleri oluşturabilir. Ui.createAddonMenu kullanarak bir eklenti menüsü ekleyin ve Menu.addItem ile bu menüye öğeler ekleyin. Menüler genellikle eklentinin onOpen yönteminde oluşturulur.
Kullanıcı etkileşimlerine veya eklenti durumuna göre değişen dinamik menüler oluşturun. Ancak eklentiler, kullanıcı tarafından yetkilendirilmeden önce ilk menüyü oluşturmalıdır. Bu nedenle, onOpen'da menü oluşturmadan önce eklentinin yetkilendirme modunu kontrol edin. Eklenti ScriptApp.AuthMode.NONE durumundayken yetkilendirme gerektiren herhangi bir işlem (ör. komut dosyası Properties kontrolü) yapmayın. Yetkilendirme modları ve yaşam döngüsü hakkında daha fazla bilgi için yetkilendirme yaşam döngüsü başlıklı makaleyi inceleyin.
Yetkilendirme modu ScriptApp.AuthMode.NONE olduğunda yetkilendirme gerektiren işlemleri yapmaya çalışmak hataya neden olur. Bu durum, eklenti menülerinizin gösterilmesini engelleyebilir.
Aşağıdaki örnekte, farklı yetkilendirme modları için dinamik bir eklenti menüsünün nasıl oluşturulacağı gösterilmektedir:
function onOpen(e) {
// Or DocumentApp, SlidesApp, or FormApp.
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();
}