ScriptDb的图书馆通过Web应用程序访问(ScriptDb in Library access

2019-07-03 10:19发布

我创建的发布为Web应用程序的任何人都可见,运行在用户访问谷歌的Apps脚本项目。

该Web应用程序包括图书馆项目,该项目的方法来访问ScriptDb如下:

function getDb() {
  return ScriptDb.getMyDb();
}

function save(props) {
  return getDb().save(props);
}

我打算有(使用基于时间的触发访问Gmail)每访问用户一个Web应用程序运行,但我想使用ScriptDb从运行Web应用程序的用户独立地存储数据。 于是我想到了章集中化一个地方获得一个数据库实例从谷歌Apps脚本文档适用于这里,访问Web应用程序的不过时,我收到以下错误:

You do not have access to library MyDBLibrary, used by your script, or it has been deleted.

难道我做错了什么? 当时的ScriptDb不打算独立于用户,当从Web应用程序正在访问的运行?

Answer 1:

Joscha - 您在树立正确的,我复制你的一切报道。 你失踪的最后一件事是共享的库项目本身给公众。

要做到这一点的方法是1.打开脚本编辑器2.转到文件库项目 - >分享3.在“谁有权访问”栏目,它的链接设置为任何人都可以查看(不需要编辑) 。

没有这一点,Google Apps脚本现在知道其确定为服务库代码给公众。 希望这可以帮助。



Answer 2:

您可能需要打开development mode的标志,使其工作。

这里就是我所做的。

  1. 用户A:创建一个Master电子表格,创建一个应用程序的脚本,并与版本保存它1.0
  2. 用户A:给了访问此片于用户B这样他们可以使用常见的应用程序脚本。
  3. 用户A:给了项目准入关键用户B 。 4.用户B:建立了一个表格,并添加资源library with project key
  4. 网友B:选择版本1.0
  5. 网友B:原来的development mode

注:如果我按照步骤1到5,然后我仍看到相同的错误,说我没有权限或脚本已被删除。 然而,也做第6步将解决错误,并允许您使用的共享脚本。



文章来源: ScriptDb in Library accessed by WebApp