【发布时间】:2019-12-25 02:43:43
【问题描述】:
主要问题:
我有两个 Google 电子表格:一个模板和一个母版。
模板被发送给人们制作副本并填写,然后我有一个脚本,可以将他们的标签复制到主电子表格。
目前授权范围很广——可以查看、编辑、删除所有用户的电子表格。由于只涉及两个文件,我想将范围缩小到这两个,主要是因为授权过程现在对用户来说看起来很粗略。
有没有办法限制特定电子表格与所有电子表格的范围?
到目前为止我发现/研究的内容:
您似乎可以轻松地将范围限制为当前文件,或要求访问所有电子表格。
我找到了两种方法:
1) 仅当前
将此添加到脚本的顶部:
/**
* @OnlyCurrentDoc
*/
这意味着我无法将选项卡复制到主电子表格。
2) 设置显式范围 按照此处所述进入清单: https://developers.google.com/apps-script/concepts/scopes 似乎这也只允许当前文件或完整的电子表格访问。
类似问题:
其他人也提出了类似的问题,但在涉及多个特定文件的特定问题上没有得到答案。
How to use narrower Google Apps Script Authorization Scope when accessing file from own drive
How to narrow down the auth/drive scope for a google apps script?
代码和潜在想法:
我还没有尝试过白名单 - 有帮助吗?我会将模板上的主电子表格列入白名单吗?
我尝试“@OnlyCurrentDoc”时的授权将权限定义为“查看和管理已安装此应用程序的电子表格”。我可以在我的主电子表格中安装这个应用程序并让他们说话吗?有什么想法吗?
//这几乎是唯一适用的代码:
var admin_ss = SpreadsheetApp.openById([ID]);
var this_ss = SpreadsheetApp.getActiveSpreadsheet();
【问题讨论】:
标签: google-apps-script permissions google-oauth scopes