通过Google Apps脚本更改文档的权限

时间:2012-05-17 22:53:59

标签: google-docs google-apps-script

我正在寻找样本脚本,该脚本根据传递给脚本的电子邮件地址和DocumentID重置外部电子表格的默认权限。我打算创建一个脚本,可以解析电子邮件中的信息以获取DocumentID和电子邮件,执行权限更改从默认更改为任何有链接的人,然后通过该链接通过电子邮件发送传递的地址。< / p>

似乎perms是由DocList API控制的,我没有找到与该API交互的GAS示例。

2 个答案:

答案 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());
}