我正在Apps脚本中创建一个工作流程,其中从模板生成文档并与各个用户共享以供审批。脚本发送一个自定义的电子邮件,通知用户该文档需要他们的批准,但他们还会在该过程的每个阶段收到第二封电子邮件,该文件来自存储文档的驱动程序,用户说“用户与您共享了文档”。有没有办法禁用这些警报?当您从云端硬盘手动共享文档时,会出现一个复选框选项,允许您选择用户是否收到通知。但是,我找不到使用Apps脚本禁用此通知的方法。
我正在使用doc.addEditors(users)
来分享文档。
非常感谢
答案 0 :(得分:14)
另一种选择是使用Drive高级服务(您应该在脚本编辑器的“资源”菜单中启用它)。
使用的代码应为
Drive.Permissions.insert(
{
'role': 'writer',
'type': 'user',
'value': 'bob@example.com'
},
fileId,
{
'sendNotificationEmails': 'false'
});
答案 1 :(得分:9)
如果您使用的是 Google文档或 Google SpreadSheets ,则可以使用简单的解决方案。您可以使用 DocumentApp 或 SpreadSheetApp 在不通过电子邮件通知的情况下共享您的文档或SpreadSheets:
DocumentApp
var doc = DocumentApp.openById('124144')
doc.addEditor('example@mail.com').addViewer('example2@mail.com')
SpreadSheetApp
var spreadSheet = SpreadsheetApp.openById('124144')
spreadSheet.addEditor('example@mail.com').addViewer('example2@mail.com')
但是,如果您使用的是非Docs或SpreadSheets的文档,则必须使用 DriveApp 进行共享,然后才会发送电子邮件通知。
答案 2 :(得分:0)
目前无法做到这一点。有关此主题的更多信息,请访问:https://code.google.com/p/google-apps-script-issues/issues/detail?id=2829
上述问题的评论中建议的解决方法是使用DocsList:
DocsList,SpreadsheetApp和DocumentApp都有addEditor和addViewer方法,这些方法不会产生通知电子邮件。