Google apps script 尝试打开另一个电子表格时,来自自定义函数的错误消息&引用;您没有执行该操作的权限。”;

Google apps script 尝试打开另一个电子表格时,来自自定义函数的错误消息&引用;您没有执行该操作的权限。”;,google-apps-script,google-sheets,google-sheets-custom-function,Google Apps Script,Google Sheets,Google Sheets Custom Function,我有一个自定义函数,我想用它从另一个电子表格检索工作表中的单元格值。函数的两个参数是行和列,它们确定要引用的单元格。每当我尝试使用该函数时,都会出现错误“您没有执行该操作的权限。”,指向带有openByID方法的行。以下是我的自定义函数: function TEST(row,col) { var formDataSpreadsheet = SpreadsheetApp.openById(FORM_DATA_SPREADSHEET_ID); SpreadsheetApp.setAc

我有一个自定义函数,我想用它从另一个电子表格检索工作表中的单元格值。函数的两个参数是
,它们确定要引用的单元格。每当我尝试使用该函数时,都会出现错误
“您没有执行该操作的权限。”
,指向带有openByID方法的行。以下是我的自定义函数:

function TEST(row,col) {
    var formDataSpreadsheet = SpreadsheetApp.openById(FORM_DATA_SPREADSHEET_ID);
    SpreadsheetApp.setActiveSpreadsheet(formDataSpreadsheet);
    var formDataSheet = formDataSpreadsheet.getSheetByName(WEBSITE_FORM_DATA_SHEET_NAME);
    formDataSpreadsheet.setActiveSheet(formDataSheet);
    return formDataSpreadsheet  
}

我是否需要发布表单数据电子表格?非常感谢您的帮助。

抱歉,在自定义函数中无法执行此操作:

function TEST(row,col) {
    var formDataSpreadsheet = SpreadsheetApp.openById(FORM_DATA_SPREADSHEET_ID);
    SpreadsheetApp.setActiveSpreadsheet(formDataSpreadsheet);
    var formDataSheet = formDataSpreadsheet.getSheetByName(WEBSITE_FORM_DATA_SHEET_NAME);
    formDataSpreadsheet.setActiveSheet(formDataSheet);
    return formDataSpreadsheet  
}
引用谷歌文档:

如果自定义函数抛出错误消息“您没有调用X服务的权限”,则该服务需要用户授权,因此不能在自定义函数中使用