我搜索并找到了这个解决方案here:
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");
我“修复了”
MailApp.sendEmail("<some email>", "EMPTY TRASH BIN ERROR:<br>", error);
在我的邮件中收到错误,并将我的开发人员密钥(有些像这样的ZHjkMQP3dNiA24LmOvZ5WZ2v -_- APMcbEtHD6q)放在var密钥中,但我得到了授权错误:
异常:错误OAuth:
答案 0 :(得分:0)
也许API参考会帮助您https://developers.google.com/drive/v2/reference/ 要将文件发送到回收站,您需要使用Files:trash(请参阅Google Drive API参考) 这需要您需要移动到垃圾箱的文件的fileId。它的方法是POST而不是DELETE。 所以也许这样的事情可以解决
var params = {method:"POST",
oAuthServiceName: "drive",
oAuthUseToken: "always"
};
UrlFetchApp.fetch("https://www.googleapis.com/drive/v2/files/{THE fileId of the file to be trasshed}/trash?key="+key, params);
}
这应该将文件移动到废纸篓。如果您想永久删除文件,则需要使用Files:delete(请参阅Google驱动API参考) 所以,如果您只是将“垃圾”替换为网址中的{FileId},它就可以解决。
UrlFetchApp.fetch(“https://www.googleapis.com/drive/v2/files/ {要删除的文件的FileId}?key =”+ key,params);
希望这有帮助。
答案 1 :(得分:0)
Google Empty Trash API包含一种简单的方法,可以直接从页面清空垃圾