google-apps-script - 从谷歌应用脚本更新谷歌电子表格时,我收到错误消息“您无权访问请求的文档。”
问题描述
我有两个用于单个 google-app-script 项目的环境。一个带有沙盒,一个带有生产。两者都有相同的代码,因为我将沙盒代码复制到了生产环境项目中。
两者都使用 id 读取和写入相同的电子表格文件13vlLM5Tc7z4m-XXXXX-Kdjg
。下面是示例代码。
当我将我的 'google-app-script' 项目作为 Web 应用程序运行时,更新与 Sandbox env 一起工作正常,但它为生产环境提供了以下错误。
您无权访问请求的文档。
我检查一切。我可以完全访问“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;
}
}
它还应该使用生产环境项目更新电子表格数据。因为代码和权限是一样的。但相反,它给了我错误。
您无权访问请求的文档。
解决方案
我认为您的授权很混乱。尝试将此添加到您的应用代码中
/**
* @NotOnlyCurrentDoc
*/
推荐阅读
- c# - 将数据摄取到 Azure 集群存储中会出现 Kusto.Common.Svc.Exceptions.UnauthorizedOperationException 错误
- python - 如何序列化apache箭头c ++表,通过套接字传输,并在python端反序列化
- mysql - SQL计算一行和下一行之间的时间
- docker-compose - appsody build + dockerFile 失败
- java - 如何将数据列表从一个数据库复制到另一个数据库而不获取密钥为 0 1 2 3 等等
- reactjs - TypeError:无法解构“(0,_reactRedux.useSelector)(...)”的属性“reintroduceHouseStatus”,因为它未定义
- c# - C# 列表框 foreach
- javascript - 用于电子邮件验证的正则表达式不允许零件的所有数字
- sql - 使用 if then 语句更改存储过程
- excel - 如何将 VBA 中的“0”考虑到数字格式为 01 到 09?