使用AddEditor,AddViewer关闭通知

时间:2016-02-02 19:45:52

标签: google-apps-script

我有一个复制观众和播放器的脚本。编辑从一个文件到另一个文件,如下所示:

var arrEditors = oldFile.getEditors();  // Keep all original editors
if (arrEditors.length > 0) {
  for (var i = 0; i < arrEditors.length; i++) {
    newFile.addEditor(arrEditors[i]);
  }
}

这个问题是所有那些编辑&amp;每次发生这种情况,观众都会收到电子邮件通知。为了关闭这些通知,我更改了这一行:

    newFile.addEditor(arrEditors[i]);

使用:

    Drive.Permissions.insert(
      {
        'role': 'writer',
        'type': 'user',
        'value': arrEditors[i]
      },
      newFile.getId(),
      {
        'sendNotificationEmails': 'false'
      });*/

哪个不起作用*。我想我已经在脚本/资源和控制面板中启用了驱动器api。我可能犯了一个明显的错误,我不经常看这些东西。谢谢你的帮助!

  • 编辑:它会抛出一个&#34;无效的权限值&#34;错误

基思

1 个答案:

答案 0 :(得分:1)

我看到您将User对象添加到权限资源而不是电子邮件。使用User对象上的getEmail方法构建权限资源。

Drive.Permissions.insert(
      {
        'role': 'writer',
        'type': 'user',
        'value': arrEditors[i].getEmail()
      },
      newFile.getId(),
      {
        'sendNotificationEmails': 'false'
      });