Menu kustom untuk Add-on Editor

Add-on Editor yang dipublikasikan dapat membuat item menu kustom di bagian menu Ekstensi editor. Anda dapat masukkan menu add-on menggunakan Metode Ui.createAddonMenu() dan menambahkan item ke dalamnya menggunakan Menu.addItem() . Menu biasanya dibuat dalam metode onOpen(e) add-on.

Anda dapat membuat menu dinamis yang berubah berdasarkan interaksi pengguna atau status add-on. Namun, add-on harus membuat menu awal sebelum add-on diberi otorisasi oleh pengguna. Oleh karena itu, Anda harus memeriksa mode otorisasi sebelum membuat menu di onOpen(e). Jangan mencoba untuk mengambil tindakan apa pun yang memerlukan otorisasi (seperti memeriksa skrip Properties) saat add-on berada di ScriptApp.AuthMode.NONE. Lihat siklus proses otorisasi untuk mengetahui detail selengkapnya tentang mode dan siklus proses otorisasi.

Contoh berikut menunjukkan cara mem-build menu add-on dinamis untuk berbagai mode otorisasi:

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