Google云端硬盘中的文件夹和文件的不同角色(GSuite)

时间:2016-11-30 00:07:31

标签: google-apps-script google-drive-api google-apps google-apps-for-education

我有一个带用户组的GSuite,每个组都是组织中的一个部门。我现在获得了以下权限:

  • 每个部门都可以编辑自己的文件夹
  • 每个部门都可以查看其他部门的文件夹

只有我想要每个可以查看内容的部门,也可以评论GDoc文件和电子表格文件。我知道我可以在每个文件上单独更改它,但我们的驱动器有超过1000个GDoc文件。我不会每次都使用旧的(和新的)文件来更改此权限。

我试图用脚本解决这个问题并尝试

  • file.addCommenter(电子邮件); - >参数无效:permission.value
  • file.setSharing(DriveApp.Access.PRIVATE,DriveApp.Permission.COMMENT) - >没有错误,也没有结果。

有人知道这方面的解决方案吗?

1 个答案:

答案 0 :(得分:1)

  

file.addCommenter(电子邮件); - >参数无效:permission.value

这是一个棘手的问题。自2014年7月起(!)有一个open issue #4231。我没有亲自遇到这个,但显然这是一个问题,虽然可能是一个罕见的问题。是失败的特定文件类型吗?我刚刚对所有Google文件类型进行过file.addCommenter(email)测试,但它对我来说没有任何问题。

您的脚本是在这些文件的OWNER下执行的帐户,还是只有编辑'访问他们?有选项'阻止编辑者更改访问权限并添加新用户'是否已启用这些文件?这些是我开始检查以查明问题原因的一些事情。

如果一切都失败了,我建议您与Google支持代表联系 - 您的GSuite管理控制面板中应该有一个链接。

  

file.setSharing(DriveApp.Access.PRIVATE,DriveApp.Permission.COMMENT)    - >没有错误,也没有结果。

我认为这不符合您的预期。除了明确授予访问权限的个人用户外,setSharing() method设置文件的共享属性。基本上,setSharing()方法不会更改已经明确授予对文件的某种级别访问权限的用户的共享访问权限。

您可以使用它的方式是,只要您是GSuite for Business或EDU用户,就可以使用file.setSharing(DriveApp.Access.DOMAIN_WITH_LINK, DriveApp.Permission.COMMENT)向您域中的任何用户授予对该文件的COMMENT访问权限。

希望这有帮助!