google-apps-script - 缺少标识符为 tmplib 的库(可能它已被删除,或者您没有读取权限?)
问题描述
我正在使用Legacy free edition of G Suite
帐户来运行我的 Web 应用程序。我想要实现的是强制用户登录。所以我使用这些设置部署了 Web 应用程序
Execute as
访问 Web 应用程序的用户Who has access
任何拥有 Google 帐户的人
现在我能够识别访问 Web 应用程序的用户 - 我收到了来自Session.getActiveUser().getEmail();
完美的电子邮件。然后我想将他们所有的“数据”保存在“他们自己的”电子表格中。当我使用DriveApp.createFile(fileName, 'Hello, world!')
该文件保存文件时,该文件会保存在他们的 Google 光盘上。我希望所有应用程序数据都在我的光盘上。
所以我创建了一个新项目 - 库 - 并作为库部署并通过电子邮件传递给它,因为它将是文件名。如果我以我的身份访问网络,它就可以工作 - 这两个项目的所有者。如果我以其他人身份访问网络,我会收到此错误We're sorry, a server error occurred while reading from storage. Error code NOT_FOUND.
然后我将库部署为具有这些设置的 Web 应用程序
Execute as
我Who has access
任何人或任何拥有 Google 帐户的人
再次,如果我以所有者身份访问网络,它可以工作,但其他人收到错误Library with identifier tmplib is missing (perhaps it was deleted, or maybe you don't have read access?)
也没有日志。只是错误。实际上库中没有日志 - 我使用了 Logger.log() 和 console.log()
我尝试从旧编辑器添加库,因为过去报告了一些可能导致此类错误的错误。
有什么方法可以使用网络应用程序和库的预期方式,以便文件始终保存为我?
更新
如果我使用共享按钮共享库并且任何人都在,Editor
那么网络用户需要授予网络应用程序访问他们的云端硬盘的权限,并且文件保存在他们的云端硬盘中。我希望始终将文件保存在我的云端硬盘中。
解决方案
这似乎是一个错误!
已经有一份关于谷歌问题跟踪器的报告详细说明了同样的行为:
您也可以点击上述页面左上角问题编号旁边的 ☆,让 Google 知道更多人遇到此问题,因此更有可能更快地被看到。
推荐阅读
- javascript - 如何在 django 中创建和使用变量
- java - 如何在每次迭代中循环使用执行器服务?
- android - 有没有办法从 Android 应用程序中获取 Chromebook 的真实 IP?
- javascript - 检查 axios nodejs 中的循环进度
- android - 如何一次访问一个按钮?
- python - 我该如何解决这个错误:对于下面的代码 gievn,解包的值太多(预期为 4)?
- python - 当您可以控制数据时,为什么需要 back_populates?
- python-3.x - 安装和卸载 flake8 插件后出现错误。执行 --help 或 --version 时抛出的错误
- selenium - 抓取标签内的隐藏数据
- mysql - 使用加载数据infile将日期时间字段正确导入mysql表