Ubuntu CLI 操作Google Drive雲端硬碟

  1. 必須安裝Go程式,有關安裝方式可以參考這個網頁
  2. 設置Google存取權限(credentials),這裡可以設定自有的Google credential
    1. Google API Console
    2. 建立新的專案 (Create a new project)
    3. 啟動Google Drive API
    4. 設置Consent Screen
    5. 選擇OAtu client ID建立存取權限
  3. 下載與安裝gdrive程式並設置存取權限
    go get github.com/prasmussen/gdrive
  4. 下載之後,會存放在 $GOPATH/src/github.com/prasmussen/gdrive 文件夾,到這文件夾,可以找到一份設定檔案為 handlers_drive.go ,請打開這個文件,並修改第17/18行,將前面在Google Drive API設定的存取權限的Client ID與ClientSecret填入如下
    const ClientId = "367116221053-7n0v**.apps.googleusercontent.com"
    const ClientSecret = "1qsNodXN*****jUjmvhoO"
    
  5. 將專案建立起來
    $go build
  6. 建立之後,執行go env檢查環境參數,應該會有一個如下顯示的資料:
    $env:GOOS = "linux"
  7. 將建立的程式複製到可執行的地方,例如 /usr/sbin
    sudo mv gdrive /usr/sbin/gdrive
  8. 執行 gdrive list指令,會出現類似下面的畫面:
    這時,將https://accounts.google.com…整段網址複製再貼到瀏覽器,登入您的google帳號
  9. 選擇您的Google Drive的帳號讓這gdrive可以存取
  10. 將權限授予此應用程式,即可獲取驗證碼(verification code)
  11. 再將驗證碼貼到剛剛gdrive程式執行所需填入的verification code,完成後會出現您在Google Drive的檔案與文件夾資料。
  12. 測試上傳功能,
     # 上傳到Google Drive根目錄
    gdrive upload test.zip
    
    # 上傳到Google Drive的特定目錄。特定目錄的代碼,可透過網頁google drive上進行查看
    gdrive upload --parent 1dYSp4NcaRTykSebFt-UoAadszRhMQciX test.zip