如何通过谷歌应用程序脚本授予对某个文件夹的查看权限

时间:2017-11-29 02:53:49

标签: javascript google-apps-script google-sheets google-drive-api google-spreadsheet-api

我有一个谷歌表单收集电子邮件地址,该地址连接到电子表格。通过谷歌应用程序脚本(工具 - >脚本编辑器),我希望每次添加新电子邮件时都能访问通过表单收集的电子邮件地址。在电子表格中,我将Timestamp作为第1列,将Email作为第2列,我在其他列中也有其他不重要的数据。行无关紧要。到目前为止,这是我的代码:

function giveaccess() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startColumn = 2;
  var numColumns = 99;
  var dataRange = sheet.getRange(startColumn, 2, numColumns, 99)
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    var emailAddresses = row[0];
    addViewers(emailAddresses)
  }
}

我收到错误“ReferenceError:”addViewers“未定义”。但我希望有人告诉我其他任何方法来做我上面提到的。谢谢! :d

1 个答案:

答案 0 :(得分:0)

使用Apps脚本共享云端硬盘文件夹中的文件可以使用setSharing(accessType, permissionType)

完成
  

setSharing(accessType,permissionType)

     

设置可以访问文件的用户类和权限   除了任何个人用户之外,这些用户被授予   明确授予访问权限。

示例代码:

// Creates a folder that anyone on the Internet can read from and write to. (Domain
 // administrators can prohibit this setting for users of a G Suite domain.)
 var folder = DriveApp.createFolder('Shared Folder');
 folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);

访问类型的其他值可在Enum Access中找到:

- ANYONE
- ANYONE_WITH_LINK
- DOMAIN  
- DOMAIN_WITH_LINK
- PRIVATE