异常:无法从此上下文调用 SpreadsheetApp.getUi()。 (第 1 行)
Exception: Cannot call SpreadsheetApp.getUi() from this context. (line 1)
我有一个包含两个脚本的项目,该项目绑定到 Google 电子表格。
第一个脚本打开 UI
var ui = SpreadsheetApp.getUi();
var userProperties = PropertiesService.getUserProperties();
const TOKEN_OLD = 'api.token_old';
function onOpen(){
ui.createMenu('CREDENZIALI')
.addItem('Imposta TOKEN', 'setToken')
.addToUi();
}
function setToken(){
var scriptValue = ui.prompt('Per favore inserisci il token.' , ui.ButtonSet.OK);
userProperties.setProperty(TOKEN_OLD, scriptValue.getResponseText());
}
第二个执行业务逻辑并实现一个用于电子表格的自定义函数。
function getFromApi(book_id,dato) {...}
显然,这个 API 在身份验证之后,我不想将令牌硬编码到脚本中,所以我创建了第一个 UI 以便最终用户在运行时管理它。
UI 工作完美,但是当我尝试调用自定义函数时,出现此错误:
我是文件的所有者。我错过了什么?
尝试在onOpen()
和setToken()
中分别添加SpreadsheetApp.getUi();
。
以下脚本独立运行:
var userProperties = PropertiesService.getUserProperties();
const TOKEN_OLD = 'api.token_old';
function onOpen(){
SpreadsheetApp.getUi()
.createMenu('CREDENZIALI')
.addItem('Imposta TOKEN', 'setToken')
.addToUi();
}
function setToken(){
var ui = SpreadsheetApp.getUi();
var scriptValue = ui.prompt('Per favore inserisci il token.' , ui.ButtonSet.OK);
userProperties.setProperty(TOKEN_OLD, scriptValue.getResponseText());
}
但是,您不能使用自定义公式来调用此函数。见相关文章:
- Custom Functions in Google Sheets
- Custom function throws a "You do not have the permission required to setValue" error
我有一个包含两个脚本的项目,该项目绑定到 Google 电子表格。 第一个脚本打开 UI
var ui = SpreadsheetApp.getUi();
var userProperties = PropertiesService.getUserProperties();
const TOKEN_OLD = 'api.token_old';
function onOpen(){
ui.createMenu('CREDENZIALI')
.addItem('Imposta TOKEN', 'setToken')
.addToUi();
}
function setToken(){
var scriptValue = ui.prompt('Per favore inserisci il token.' , ui.ButtonSet.OK);
userProperties.setProperty(TOKEN_OLD, scriptValue.getResponseText());
}
第二个执行业务逻辑并实现一个用于电子表格的自定义函数。
function getFromApi(book_id,dato) {...}
显然,这个 API 在身份验证之后,我不想将令牌硬编码到脚本中,所以我创建了第一个 UI 以便最终用户在运行时管理它。
UI 工作完美,但是当我尝试调用自定义函数时,出现此错误:
我是文件的所有者。我错过了什么?
尝试在onOpen()
和setToken()
中分别添加SpreadsheetApp.getUi();
。
以下脚本独立运行:
var userProperties = PropertiesService.getUserProperties();
const TOKEN_OLD = 'api.token_old';
function onOpen(){
SpreadsheetApp.getUi()
.createMenu('CREDENZIALI')
.addItem('Imposta TOKEN', 'setToken')
.addToUi();
}
function setToken(){
var ui = SpreadsheetApp.getUi();
var scriptValue = ui.prompt('Per favore inserisci il token.' , ui.ButtonSet.OK);
userProperties.setProperty(TOKEN_OLD, scriptValue.getResponseText());
}
但是,您不能使用自定义公式来调用此函数。见相关文章:
- Custom Functions in Google Sheets
- Custom function throws a "You do not have the permission required to setValue" error