Google apps script 如何为Google Drive编写脚本以取消共享给定文件夹ID的所有子文件夹和文件?

Google apps script 如何为Google Drive编写脚本以取消共享给定文件夹ID的所有子文件夹和文件?,google-apps-script,google-drive-api,Google Apps Script,Google Drive Api,Google Drive有一个问题:如果您取消共享顶级文件夹,文件夹中的所有内容都将被共享…我不确定这样一个大的bug如何生存,但它确实存在…详细信息如下: 我不想手动完成并取消共享所有内容,所以我想我可以创建一个脚本,将文件夹ID插入其中,让它完成所有工作 如何执行此操作?此操作取消了驱动器中每个文件夹和文件中的某人的共享 // create a Google Document // Tools / Script Editor // paste this in // update line

Google Drive有一个问题:如果您取消共享顶级文件夹,文件夹中的所有内容都将被共享…我不确定这样一个大的bug如何生存,但它确实存在…详细信息如下:

我不想手动完成并取消共享所有内容,所以我想我可以创建一个脚本,将文件夹ID插入其中,让它完成所有工作


如何执行此操作?

此操作取消了驱动器中每个文件夹和文件中的某人的共享

// create a Google Document
// Tools / Script Editor
// paste this in
// update line 13 and save
// hit play to run. you may have to run several times as the script will die after 5 or 6 minutes.

function findSharedFolders() {
  // https://developers.google.com/apps-script/reference/drive/drive-app
  // https://developers.google.com/drive/web/search-parameters
  // http://stackoverflow.com/questions/21227771/how-do-i-script-google-drive-to-unshare-all-subfolders-and-files-given-a-folder
  // https://productforums.google.com/forum/#!topic/drive/p3LZQnRNB24

  var email = "unwanted-address@gmail.com"; // <<<<< INSERT THE UNDESIRED EMAIL ADDRESS HERE

  var body = DocumentApp.getActiveDocument().getBody();
  body.appendParagraph(email).setHeading(DocumentApp.ParagraphHeading.HEADING1);
  var folders = DriveApp.searchFolders("'"+email+"' in writers");  while (folders.hasNext()) unshare_(folders.next(), body, email);
  var files   = DriveApp.searchFiles(  "'"+email+"' in writers");  while (  files.hasNext()) unshare_(  files.next(), body, email);
}

function unshare_(file, body, email) {
// Logger.log(file.getName());
   var para = body.appendParagraph(file.getName());
   try { file.removeEditor(email); }
   catch (e) { para.setLinkUrl(file.getUrl()); para.appendText(" (" + e + ")"); }
}
//创建一个Google文档
//工具/脚本编辑器
//把这个贴进去
//更新第13行并保存
//点击播放以运行。您可能需要运行几次,因为脚本将在5或6分钟后消失。
函数findSharedFolders(){
// https://developers.google.com/apps-script/reference/drive/drive-app
// https://developers.google.com/drive/web/search-parameters
// http://stackoverflow.com/questions/21227771/how-do-i-script-google-drive-to-unshare-all-subfolders-and-files-given-a-folder
// https://productforums.google.com/forum/#!topic/drive/p3LZQnRNB24

var email=“不需要的”-address@gmail.com“;//上面发布的代码示例只是简单地复制粘贴,并在添加电子邮件地址后运行,会抛出一个错误

错误

为了清楚起见,上面建议的代码。 //创建Google文档//工具/脚本编辑器//将其粘贴到 //更新第13行并保存//点击播放以运行。您可能需要运行 因为脚本会在5或6分钟后死亡

函数findSharedFolders(){//
// // //


var email=“不需要的”-address@gmail.com“;//上面的答案很有效,但它应该在谷歌文档中运行(用于注销信息)

如果您想直接从脚本编辑器中使用它,只需使用上面的代码,而不使用日志内容:

//创建一个Google文档
//工具/脚本编辑器
//把这个贴进去
//更新第13行并保存
//点击播放运行。您可能需要运行几次,因为脚本将在5或6分钟后消失。
函数findSharedFolders(){
// https://developers.google.com/apps-script/reference/drive/drive-app
// https://developers.google.com/drive/web/search-parameters
// http://stackoverflow.com/questions/21227771/how-do-i-script-google-drive-to-unshare-all-subfolders-and-files-given-a-folder
// https://productforums.google.com/forum/#!topic/drive/p3LZQnRNB24

var email=“不需要的”-address@gmail.com“;//我发现此脚本可与某人完全取消共享文件和文件夹或特定文件夹(及其ID),并转移其所有权(在取消共享时复制其拥有的所有文件和文件夹)

使用应用程序脚本或驱动程序SDK/API?在您的问题中添加适当的标记以clarify@pinoyyid谢谢,已修复。这不会取消文件夹中的文件夹共享。有什么方法可以这样做吗?虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。只有链接的答案才能成为我的答案如果链接页面发生更改,则为nvalid。