我正在寻找基于电子邮件地址和传递给脚本的 DocumentID 重置外部电子表格默认权限的示例脚本。我打算创建一个脚本,该脚本可以从电子邮件消息中解析信息以获取 DocumentID 和电子邮件,执行从默认到具有链接的任何人的权限更改,然后使用该链接通过电子邮件发送传递的地址。
似乎烫发是由 DocList API 控制的,我没有找到与该 API 交互的 GAS 样本。
我正在寻找基于电子邮件地址和传递给脚本的 DocumentID 重置外部电子表格默认权限的示例脚本。我打算创建一个脚本,该脚本可以从电子邮件消息中解析信息以获取 DocumentID 和电子邮件,执行从默认到具有链接的任何人的权限更改,然后使用该链接通过电子邮件发送传递的地址。
似乎烫发是由 DocList API 控制的,我没有找到与该 API 交互的 GAS 样本。
在 2013 年 Google I/O 上,推出了 DriveApp。这允许开发人员构建用例,例如通过链接分享给任何人
https://developers.google.com/apps-script/reference/drive/
示例代码 -
var quizTemplate = DriveApp.getFileById(QUIZ_TEMPLATE_ID);
quizTemplate.setSharing(DriveApp.Access.DOMAIN_WITH_LINK, DriveApp.Permission.VIEW);
或者
var openFile = DriveApp.getFileById(WIDE_OPEN_ID)
openFile.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.COMMENT);
AFAIK DocsList 服务没有更改共享模式的功能,在私人/任何有链接的人/公共之间,只能添加/删除编辑者和查看者。但是我们仍然可以通过之前手动将特定文件夹的共享设置设置为“任何有链接的人”来实现这一点。然后,我们只需将文件添加到该文件夹即可共享。
执行此操作的脚本特别简单。例如
function shareWithAnyoneAndEmail(documentID,email) {
var sharedFolder = DocsList.getFolderById('id-to-your-previously-shared-folder');
var file = DocsList.getFileById(documentID);
file.addToFolder(sharedFolder);
MailApp.sendEmail(email, 'Here is your file', file.getName()+'\n'+file.getUrl());
}