【发布时间】:2019-05-07 08:56:29
【问题描述】:
我有两个用于单个 google-app-script 项目的环境。一种带有沙盒,一种带有生产。两者都有相同的代码,因为我将沙盒代码复制到生产环境项目中。
两者都在读取和写入 ID 为 13vlLM5Tc7z4m-XXXXX-Kdjg 的同一个电子表格文件。下面是示例代码。
当我将我的“google-app-script”项目作为 Web 应用程序运行时,更新在 Sandbox 环境中可以正常工作,但它会为生产环境提供以下错误。
您无权访问所请求的文档。
我检查一切。我对“google-app-script”项目和电子表格都有完全访问权限。
这是我用来查找和更新电子表格数据的代码。
var wb = '13vlLM5Tc7z4m-XXXXX-Kdjg';
var sheet = SpreadsheetApp.openById(wb);
var sheetData = sheet.getDataRange().getValues();
sheetData.shift();
var key = 'XYZ';
for(var i=0; i<sheetData.length; i++){
if(key!=undefined && key!='' && key == sheetData[i][21]){
resetPassUser = techSheetData[i];
var values = [['Yes']];
var nextRow = index+2; // get next row
sheet.getRange(nextRow, 23, 1, 1).setValues(values);
break;
}
}
它还应该使用生产环境项目更新电子表格数据。因为代码和权限是一样的。但相反,它给了我错误。
您无权访问所请求的文档。
【问题讨论】:
-
图片中的错误似乎与您的
doGet()相关,而不是您发布的代码。您是否验证了您的网络应用发布设置以及您用来访问的帐户是否具有权限? -
请显示执行记录,以便我们准确查看错误实际发生的时间。