本文介绍了共享文件时不发送通知的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我编写了一个代码,用于将文件夹的文件复制并粘贴到其他人,这些文件与其他人共享,这些人可以编辑或查看文件。
我需要在将副本和权限复制到新文件时,这不会向编辑者和查看者发送电子邮件通知。
您使用的第一个代码是:
var PeopleToEdit = file.getEditors();
var PeopleToView = file.getViewers();
for (var i=0 ; i < PeopleToEdit.length; i++){
newFile.addEditor(PeopleToEdit[i]);}
for (var i=0 ; i < PeopleToView.length; i++){
newFile.addViewer(PeopleToView[i]);}
但是,对于我尝试使用的电子邮件:
function addEditors(file1, file2){
var file = DriveApp.getFileById(file1);
var PeopleToEdit = file.getEditors();
for (var i=0 ; i < PeopleToEdit.length; i++){
Drive.Permissions.insert(
{
'role': 'writer',
'type': 'user',
'value': PeopleToEdit[i].getEmail()
},
file2,
{
'sendNotificationEmails': 'true'
});
在我的本地驱动器中工作正常,但是当我在共享驱动器中使用它时,显示此错误,我完全不知道会是什么。
推荐答案
两件事
在共享驱动器上创建文件的驱动器权限时,需要将参数
supportsAllDrives
设置为true
如果您不想发送通知,则需要将
sendNotificationEmails
设置为false
请求示例:
Drive.Permissions.insert(
{
'role': 'writer',
'type': 'user',
'value': PeopleToEdit[i].getEmail()
},
file2,
{
'supportsAllDrives': true,
'sendNotificationEmails': false
});
这篇关于共享文件时不发送通知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!