Google云端硬盘 – 如何从代码中清空垃圾(以编程方式)?

请帮我将项目与Google云端硬盘集成。 问题是Google云端硬盘文件夹永远不会被清空,因此由于空间不足,Google Drive与桌面同步最终会停止运行。

我需要配置垃圾桶不保留已删除的文件(首选选项)或以编程方式从C#代码(不太喜欢)或其他编程语言(最后选项)清空它。

如何从代码或脚本或其他内容中清空Google云端硬盘垃圾箱?

Google云端硬盘API不公开清空垃圾箱的方法,但它有一种delete方法可永久删除文件,而不会将其发送到垃圾箱:

https://developers.google.com/drive/v2/reference/files/delete

您还可以通过检查Files资源的已 delete标签来检索trashed中的文件 ,然后对它们调用delete

这是一个较短的版本,我尝试使用上述解决方案,但没有运气。

 function emptydrivetrash() { Drive.Files.emptyTrash(); } 

您所要做的就是在资源菜单 – > Google高级服务和谷歌开发者控制台中启用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("", "EMPTY TRASH BIN ERROR:
"+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方法的触发器

这将清空正在创建触发器的用户的垃圾箱。