我正在尝试使用来自 Romain Vialard 和 James Ferreira 的书(已修改)的 Google Apps 脚本建议框库在我的 Google 电子表格中添加自动完成功能(电子表格中的弹出窗口中的 Ui):
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "my_sheet" ) { //checks that we're on the correct sheet
var r = s.getActiveCell();
if( r.getColumn() == 1) {
var names = ["Adam", "Peter", "Benjamin", "Ceaser", "Prometheus", "Gandi", "Gotama", "Mickey Mouse"];
var app = UiApp.createApplication();
var suggestBox = SuggestBoxCreator.createSuggestBox(app, 'contactPicker', 200, names);
app.add(suggestBox);
SpreadsheetApp.getActive().show(app);
var dataCell0 = r.offset(0, 1);
var dataCell0 = r.offset(0, 1);
if( dataCell0.getValue() == '' )
otherTestTunction();
}
}
}
但是,当我开始编辑“my_sheet”的第 1 列并出现 Ui 框时,会发生此自动化错误(用我的语言它说:“您必须有权执行此操作”):
文档说 onEdit() 触发器“他们无法访问任何需要以该用户身份进行身份验证的服务。例如,谷歌翻译服务是匿名的,可以通过简单的触发器访问。谷歌日历、Gmail 和站点不是匿名的,并且简单的触发器无法访问这些服务。”
由于我没有使用ContactsApp
,我认为建议框库需要授权。
我怎样才能在需要授权的编辑触发器上设置一个可安装的?(你能给我一些代码示例吗?)