Google 加载项脚本在调用 DriveApp getFolderById 或 getFileById 时抛出服务器错误

Google Add-on script throws server error when calling DriveApp getFolderById or getFileById

我已将电子表格绑定脚本部署为附加组件。 它在容器绑定时起作用。 但是现在,作为附加组件,当我调用 DriveApp.getFolderById

时出现服务器错误
function makeMap (){
console.log("start lesmap");
try{var map=DriveApp.getFolderById(DIPmapId); }catch(e){console.log("error map:"+e )}
try{var temp=DriveApp.getFileById(templateId);}catch(e){console.log("error tempfile:"+e) }
}

抛出错误(荷兰语但意思是:服务器错误,稍等片刻再试):

2020-05-23 12:10:11.310 中欧夏令时 错误 map:Exception:Er is helaas een serverfout opgetreden。观察时间和探索时间。 2020-05-23 12:10:11.347 中欧夏令时 error tempfile:Exception: Er is helaas een serverfout opgetreden. Wacht enige tijd en probeer het dan nogmaals.

在清单文件中:

{
"timeZone": "Europe/Paris",
"dependencies": {
},
"exceptionLogging": "STACKDRIVER",
"oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets",
"https://www.googleapis.com/auth/drive",
"https://www.googleapis.com/auth/script.container.ui"
]
}

在 G Suite Marketplace SDK 配置中 OAuth 2.0 范围

https://www.googleapis.com/auth/userinfo.email 
https://www.googleapis.com/auth/userinfo.profile 
https://www.googleapis.com/auth/spreadsheets 
https://www.googleapis.com/auth/script.container.ui 
https://www.googleapis.com/auth/drive

我在电子表格中安装并启用了它。 我 运行 电子表格中附加菜单中的功能,所以我猜这是在 authmode full 中? 我对地图和云端硬盘中的文件具有编辑权限。

我错过了什么?

这好像是bug。您可以单击问题编号旁边的星号以接收更新并给予错误更高的优先级。即使该错误提到了 App Maker,它也是最近部署的问题。

一个可能的解决方法是在 Google Advanced Services 中启用 Drive API(即使 DriveApp 和 Drive API 不一样)。成功 运行 后,您可以再次禁用驱动器 API。

我能够通过在 Google 云平台中启用 Google Drive API 来解决这个问题:

https://console.cloud.google.com/apis/api/drive.googleapis.com/metrics