我正在寻找样本脚本,该脚本根据传递给脚本的电子邮件地址和DocumentID重置外部电子表格的默认权限。我打算创建一个脚本,可以解析电子邮件中的信息以获取DocumentID和电子邮件,执行权限更改从默认更改为任何有链接的人,然后通过该链接通过电子邮件发送传递的地址。< / p>
似乎perms是由DocList API控制的,我没有找到与该API交互的GAS示例。
答案 0 :(得分:4)
在Google I / O 2013上,推出了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);
答案 1 :(得分:2)
AFAIK DocsList服务没有改变共享模式的功能,在具有链接/公共的私人/任何人之间,仅添加/删除编辑者和查看者。但我们仍然可以通过先前手动将特定文件夹的共享设置设置为“有链接的任何人”来实现此目的。然后,我们只需将文件添加到该文件夹即可共享。
这样做的脚本特别简单。 e.g。
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());
}