请帮助我将项目与 Google Drive 集成。问题是 Google Drive 垃圾文件夹永远不会被清空,因此最终由于空间不足,Google Drive 与桌面同步停止工作。
我需要将垃圾箱配置为不保留已删除的文件(首选选项)或从 C# 代码(不太首选)或其他编程语言(最后的选项)中以编程方式清空它。
如何从代码或脚本或其他任何内容中清空 Google Drive 垃圾?
请帮助我将项目与 Google Drive 集成。问题是 Google Drive 垃圾文件夹永远不会被清空,因此最终由于空间不足,Google Drive 与桌面同步停止工作。
我需要将垃圾箱配置为不保留已删除的文件(首选选项)或从 C# 代码(不太首选)或其他编程语言(最后的选项)中以编程方式清空它。
如何从代码或脚本或其他任何内容中清空 Google Drive 垃圾?
Google Drive API 没有公开清空垃圾箱的方法,但它有一种delete
永久删除文件的方法,而不会将它们发送到垃圾箱中:
https://developers.google.com/drive/v2/reference/files/delete
您还可以通过检查文件资源trashed
的标签从垃圾箱中检索文件,然后调用它们。delete
这是一个较短的版本,我尝试使用上述解决方案,但没有运气。
function emptydrivetrash() {
Drive.Files.emptyTrash();
}
您所要做的就是在资源菜单-> 谷歌高级服务和谷歌开发者控制台中启用 de drive api...
这是一个完整的解决方案:
1)在您的驱动器上创建一个空脚本
2)粘贴以下代码:
function doGet() {
try{
authorize();
var key = "YOUR DEVELOPER KEY";
var params = {method:"DELETE",
oAuthServiceName: "drive",
oAuthUseToken: "always"
};
UrlFetchApp.fetch("https://www.googleapis.com/drive/v2/files/trash?key="+key, params);
}
catch(error)
{
MailApp.sendEmail("<some email>", "EMPTY TRASH BIN ERROR:<br>"+error);
return;
}
}
function authorize() {
var oauthConfig = UrlFetchApp.addOAuthService("drive");
var scope = "https://www.googleapis.com/auth/drive";
oauthConfig.setConsumerKey("anonymous");
oauthConfig.setConsumerSecret("anonymous");
oauthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken? scope="+scope);
oauthConfig.setAuthorizationUrl("https://accounts.google.com/OAuthAuthorizeToken");
oauthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
}
3) 将脚本部署为 Web 应用程序
4) 点击顶栏的时钟,创建一个调用doGet方法的触发器
这将为创建触发器的用户清空垃圾箱。