Tim*_*nny 5 google-apps-script google-drive-api
Google 云端硬盘有一个问题:如果您取消共享顶级文件夹,该文件夹中的所有内容仍会共享...我不确定这么大的错误如何幸存,但它确实存在...详细信息:
http://productforums.google.com/forum/#!topic/drive/p3LZQnRNB24
我不想手动浏览和取消共享所有内容,所以我想我可以创建一个脚本,我可以将文件夹 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 + ")"); }
}
Run Code Online (Sandbox Code Playgroud)