自動清空/刪除 Google Drive 的垃圾桶

由於Google升級API,本文章已無法使用,僅供參考。

 

在Google Drive中,如果你對檔案按下刪除,當下檔案只會搬移到垃圾桶,並不會真的刪除。
在垃圾桶內的檔案,若沒有清空,那麼垃圾桶內的檔案將會一直存在,仍然會持續的佔用空間
這就是為什麼很多人說,我明明把Google Drive內的檔案刪了,但是為什麼可用的空間仍然沒有變多。
如果你想定時把Google Drive垃圾桶自動清空的話,就照此篇文章執行吧。


1.先申請API Key
到https://console.developers.google.com/,登入後先建立一個新的專案。
接下來進入剛剛建立的專案,在「API和驗證」->「憑證」->「公開API存取」中,點選「建立新的金鑰」
此時,請把產生的「API 金鑰」記下來。
2.建立Script
到https://script.google.com,登入後先建立一個空白專案。
把以下程式碼貼上

function doGet() {
    try {
        authorize();
        var key = "Your API Key,放你剛剛記下來的API 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("yourEmailAddress@gmail.com", "EMPTY TRASH BIN ERROR", "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");
}



接下來請儲存程式(編輯介面中的檔案 -> 存儲)。
儲存完後,請把執行函式選到doGet,並執行(或是點選 -> 執行 -> doGet)。
第一次執行,會請你進行google帳號的授權,請同意授權,並執行(此時你垃圾桶內的資料將會清空,請注意)。
 
3.最後把該程式建立排程就可以了
在「資源」 -> 「有專案的啟動程序」 -> 點一下「尚未建立觸發程序,按一下這裡來新增觸發程序」
執行「doGet」,時間就看自己要多久自動清一次垃圾桶,我自己是設定每星期執行一次。
到這邊就完成了。恭喜你,你的垃圾桶會自動清空了!!!

評論 (4) -

  • OAuthConfig API 已逾時。

    File: 程式碼 Line: 21


    方法 UrlFetchApp.addOAuthService 已經淘汰。

    File: 程式碼 Line: 19
  • OAuthConfig API 已逾時。

    File: 程式碼 Line: 21
    這個 API 已標示為淘汰,對應的功能日後可能會被移除,建議您不要使用,請盡量改用替代解決方法。

    方法 UrlFetchApp.addOAuthService 已經淘汰。

    File: 程式碼 Line: 19
    這個方法已標示為淘汰,表示相關功能日後可能會被移除。請避免使用,並考慮改用其他解決方法。
  • EMPTY TRASH BIN ERROR:Exception: 對  的要求失敗,系統回傳代碼 403。伺服
    器回應被截斷:{
      "error": {
       "errors": [
        {
         "domain": "usageLimits",
         "reason": "accessNotConfigured",
         "message": "Access Not Configured. The API (... (請使用  
    muteHttpExceptions 選項查看完整回應)
  • hi 牛牛:

    OAuthConfig API 已逾時

    但目前仍是可以正常使用的。
    暫時沒有找到解決的方法。

新增評論

Loading