2

请浏览图片以便更好地理解

在此处输入图像描述

我的问题:

  1. 我创建了一个可以访问用户 Gmail 以获取某些数据的库
  2. 我还创建了一个使用该库的应用程序脚本
  3. 应用脚本有一个 scriptDB
  4. 现在我在两个用户之间共享应用脚本
  5. 现在我的问题是,我可以从库中访问这两个 scriptDB,如果可以的话怎么办?
  6. 图书馆能否将 scriptDBs 找到为两个不同的数据库。它能够区分两个实例吗?
  7. 是否会有任何数据混合,例如 user1 的数据与 user2 的数据混合。
  8. 当两个用户同时访问该库时,它可以处理并发吗?
  9. 当库读取用户Gmail时,它可以仅向 user1 显示 user1 的数据,仅user2 显示 user2 的数据

任何帮助是极大的赞赏 !!提前致谢。
更新:基本上它是关于此链接中提到的资源范围。

4

1 回答 1

4

您可以将应用程序自己的 ScriptDb 实例传递给库,该库可以将数据存储到该应用程序的 ScriptDb 实例中。

因此,如果您有一个名为“Library”的库,它可以包含以下函数:

function giveMeAnObject(db,item) {
  db.save(item);
  return db.count({});
}

您的应用程序将像这样使用库的功能:

function doStuff(e) {
  Library.giveMeAnObject( ScriptDb.getMyDb(), {'foo' : 'bar'});       
}

应用程序有一个 ScriptDb(不是应用程序的每个用户),因此如果两个不同的应用程序(而不是同一应用程序的两个不同用户)访问该库,则数据最终将位于两个单独的数据库中。但是,如果您只有两个不同的用户使用同一个应用程序,他们的数据就会混合在一起。每个 App 都有自己的 ScriptDb,但不是每个用户。

于 2013-10-14T20:57:23.183 回答