小编Eas*_*ayB的帖子

如何将 Google Apps 脚本的范围缩小到特定文件

主要问题:

我有两个 Google 电子表格:一个模板和一个母版。

该模板被发送给人们进行复制、填写,然后我有一个脚本将他们的选项卡复制到主电子表格中。

目前的授权非常广泛——查看、编辑、删除所有用户的电子表格。由于只涉及两个文件,我想将范围缩小到仅这两个文件,主要是因为授权过程现在对用户来说看起来很粗略。

有没有办法将范围限制为特定电子表格与所有电子表格?

到目前为止我发现/研究的内容:

似乎您可以轻松地将范围限制为当前文件,或要求访问所有电子表格。

我找到了两种方法:

1) 仅当前将此添加到脚本顶部:
/** * @OnlyCurrentDoc */ 这意味着我无法将选项卡复制到主电子表格。

2)设置显式范围进入清单,如下所述: https: //developers.google.com/apps-script/concepts/scopes 似乎这也只允许仅当前文件或完整电子表格访问。

类似问题:

其他人也提出了类似的问题,但还没有得到这个特定问题的答案,其中存在多个特定文件。

从自己的驱动器访问文件时如何使用更窄的 Google Apps 脚本授权范围

如何缩小谷歌应用程序脚本的身份验证/驱动范围?

代码和潜在想法:

我还没有尝试过白名单 - 这有帮助吗?我会将模板上的主电子表格列入白名单吗?

我尝试“@OnlyCurrentDoc”时的授权将权限定义为“查看和管理已安装此应用程序的电子表格”。我可以在我的主电子表格中安装此应用程序并让他们交谈吗?有任何想法吗?

//这几乎是唯一适用的代码:

var admin_ss = SpreadsheetApp.openById([ID]);

var this_ss = SpreadsheetApp.getActiveSpreadsheet();
Run Code Online (Sandbox Code Playgroud)

permissions google-apps-script scopes google-oauth

4
推荐指数
1
解决办法
3295
查看次数