請幫我將項目與Google Drive集成。 問題是Google雲端硬盤垃圾文件夾永遠不會被清空,因此最終Google雲端硬盤與桌面的同步功能會因缺少空間而停止工作。谷歌驅動器 - 如何從代碼清空垃圾(以編程方式)?
我需要或者到垃圾桶配置時不攜帶被刪除的文件(優先選擇)或從C#代碼(不太優選),或其它編程語言(不得已的選擇)編程清空。
如何從代碼或腳本或任何清空谷歌雲端硬盤迴收站?
請幫我將項目與Google Drive集成。 問題是Google雲端硬盤垃圾文件夾永遠不會被清空,因此最終Google雲端硬盤與桌面的同步功能會因缺少空間而停止工作。谷歌驅動器 - 如何從代碼清空垃圾(以編程方式)?
我需要或者到垃圾桶配置時不攜帶被刪除的文件(優先選擇)或從C#代碼(不太優選),或其它編程語言(不得已的選擇)編程清空。
如何從代碼或腳本或任何清空谷歌雲端硬盤迴收站?
的谷歌雲端硬盤API不公開的方法來清空回收站,但它有一個delete
方法要永久刪除文件,而送他們到垃圾桶:
https://developers.google.com/drive/v2/reference/files/delete
您也可以檢索文件從檢查Files resource的trashed
標籤,然後調用delete
他們的垃圾。
這裏是一個完整的解決方案:
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方法的觸發器
這將清空正在創建觸發器的用戶的垃圾。
這裏一個較短的版本,我試圖使用上述解決方案,但沒有運氣。
function emptydrivetrash() {
Drive.Files.emptyTrash();
}
所有你需要做的是讓德驅動器API,在資源菜單 - >谷歌高級服務,並在谷歌開發者控制檯...
非常感謝您對這些澄清,我也發現通過WebDAV的東西刪除文件(感謝DAV掌上http://dav-pocket.appspot.com/)不將文件移動到回收站,但apparenty執行你的DELETE命令,因此該方案去用最少的代碼,我會給嘗試一下。 對不起,我不能標記你的答案是有用的,因爲我沒有足夠的「信譽」點 – 2012-08-15 07:33:32