Đã phát hành Tiện ích bổ sung dành cho trình chỉnh sửa
có thể tạo các mục tuỳ chỉnh trong trình đơn trong trình đơn Tiện ích của trình chỉnh sửa. Bạn có thể
để chèn trình đơn tiện ích bổ sung bằng cách sử dụng
Phương thức Ui.createAddonMenu()
và thêm các mục vào đó bằng cách sử dụng
Menu.addItem()
. Trình đơn thường được tạo bằng phương thức onOpen(e)
của tiện ích bổ sung.
Bạn có thể tạo trình đơn động và có thể thay đổi theo tương tác của người dùng hoặc tiện ích bổ sung
trạng thái. Tuy nhiên, tiện ích bổ sung phải tạo trình đơn ban đầu trước khi tiện ích bổ sung được
được người dùng uỷ quyền. Do đó, bạn phải kiểm tra chế độ uỷ quyền của tiện ích bổ sung trước khi tạo trình đơn trong onOpen(e)
. Đừng tìm cách thực hiện bất kỳ hành động nào
yêu cầu uỷ quyền (chẳng hạn như kiểm tra tập lệnh
Properties
)
còn tiện ích bổ sung nằm trong ScriptApp.AuthMode.NONE
. Hãy xem phần vòng đời uỷ quyền để biết thêm thông tin chi tiết về các chế độ uỷ quyền và vòng đời.
Ví dụ sau đây trình bày cách xây dựng trình đơn tiện ích bổ sung linh động cho các chế độ uỷ quyền:
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();
}