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 atau add-on pengguna status. Namun, add-on harus membuat menu awal sebelum add-on diotorisasi 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 lebih lanjut tentang mode otorisasi dan siklus proses.

Contoh berikut menampilkan cara membuat 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();
}