Google apps script Google脚本:在现有父文件夹中创建并公开共享文件夹
因此,我想在现有的父文件夹中创建并(公开)共享一个新文件夹 例如:\2013年9月\[此处新建文件夹] 当然,你可以:Google apps script Google脚本:在现有父文件夹中创建并公开共享文件夹,google-apps-script,directory,parent,sharing,subdirectory,Google Apps Script,Directory,Parent,Sharing,Subdirectory,因此,我想在现有的父文件夹中创建并(公开)共享一个新文件夹 例如:\2013年9月\[此处新建文件夹] 当然,你可以: 使用createFolder在根目录中创建文件夹 使用addToFolder将新创建的文件夹复制到给定的父文件夹中 使用removeFromFolder从根目录中删除文件夹 但是,公开共享该文件夹是不可能的 实际上,如果您尝试使用:setSharing(DriveApp.Access.anywhere,DriveApp.Permission.EDIT) 您将得到:“TypeEr
有人找到了这样一个问题的解决方案吗?DocsList和DriveApp的组合可能会很有用
/* CODE FOR DEMONSTRATION PURPOSES */
function main() {
var parentFolder = DocsList.getFolder('September 2013');
var idNewFolder = parentFolder.createFolder('New Folder').getId();
var newFolder = DriveApp.getFolderById(idNewFolder);
newFolder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);
}
DocsList和DriveApp的组合可能很有用
/* CODE FOR DEMONSTRATION PURPOSES */
function main() {
var parentFolder = DocsList.getFolder('September 2013');
var idNewFolder = parentFolder.createFolder('New Folder').getId();
var newFolder = DriveApp.getFolderById(idNewFolder);
newFolder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);
}
您不需要使用2个服务,driveApp已经内置了您所需的所有服务 你只是忘记了你可以从另一个文件夹创建一个文件夹,而不仅仅是从根目录。。。所以你不需要移动任何东西 例如:
function createSharedFolder() {
var parent = DriveApp.createFolder('testFolder');
var child = parent.createFolder('child');
child.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);
}
要解决这些简单问题,请考虑使用autocomplete,请参见下面的屏幕截图:
如果您的父文件夹已经存在,或者您对它不确定,那么下面是一个处理所有用例的函数:(+一个测试该函数的函数)
您不需要使用2个服务,driveApp已经内置了您所需的所有服务 你只是忘记了你可以从另一个文件夹创建一个文件夹,而不仅仅是从根目录。。。所以你不需要移动任何东西 例如:
function createSharedFolder() {
var parent = DriveApp.createFolder('testFolder');
var child = parent.createFolder('child');
child.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);
}
要解决这些简单问题,请考虑使用autocomplete,请参见下面的屏幕截图:
如果您的父文件夹已经存在,或者您对它不确定,那么下面是一个处理所有用例的函数:(+一个测试该函数的函数)
由于父文件夹已经存在,有一种直接的方法可以通过DriveApp找到它?DriveApp缺少getFolder(path)功能,这就是为什么我更喜欢在这里使用DocsList。确实。。。谷歌人似乎喜欢迭代器!,也就是说,迭代器非常好,代码仍然足够短,所以一点也不差。通常解决问题的方法不止一种,迭代器是另一种选择,但DocsList可以直接这样做。因为父文件夹已经存在,所以有一种直接的方法可以通过DriveApp找到它?DriveApp缺少getFolder功能(路径),这就是为什么我更喜欢在这里使用DocsList。事实上……谷歌人似乎也喜欢迭代器!他们说迭代器也很好,代码也很短,所以一点也不差。通常解决问题的方法不止一种,迭代器是另一种选择,但DocsList可以直接这样做。我不知道为什么会这样回答被否决-我很想听到谁这样做,以及我们都可以学习的解释。就个人而言,我喜欢这个和@sergeinsas答案:+1两者都有!@Mogsdad我没有否决它,但可能是因为DocsList已经被带有错误修复的驱动器应用程序“取代”了(我想他们把DocsList放在那里是为了不完全破坏旧脚本。)看到这一点,我想DocsList最终会被弃用,所以最好避免。我不知道为什么这个答案会被否决——我很想听听谁这样做,并给出一个我们都可以从中学习的解释。就个人而言,我喜欢这个和@sergeinsas答案:+1都是!@Mogsdad我没有否决它,但可能是因为DocsList已被“替换”为带有错误修复的驱动器应用程序等(我认为他们将DocsList放在那里,以便不完全破坏旧脚本)。请看这一点。我猜DocsList最终将被弃用,因此最好避免它。