Raspberry Pi 筆記(57):使用命令列存取Google Drive

大約在兩年前,學習樹莓派相關的知識時,想要使用樹莓派存取 Google Drive 上的檔案,當時找到一個 overGrive 套件,安裝後需要付費授權才能使用,也就放棄這個套件。最近買了 4B的樹莓派後,繼續研究,找到一個套件名為 gDrive,gDrive是用於與Google雲端硬盤互動的命令行工具,通過命令列指令將文件上傳到 Google 雲端硬盤的便捷工具。本篇就來實做一下如何在文字模式下,同步 Google Drive 與樹莓派目錄的檔案。

[設定Google Drive API]

1.首先到 Google Developer Console 中的「新增專案」的頁面。輸入專案名稱,我輸入的是gDrive-rpi,再按下  Create 

2. 為新專案啟用 Google Drive API,可連線到Google Cloud控制台的 Google Drive API 頁面。在這個頁面上,按下  Enable   按鍵。

3. 接著進入下一頁,在右側欄 Credentials 頁面,按下右方的  CONFIGURE CONSENT SCREEN  按鈕。

4. 在 User Type 用戶類型中選擇 External 外部,然後按下  Create 開始建立API 應用。

5. 下一頁面要輸入應用程序的名稱,我在畫面輸入「gDrive-rPi-atceiling」,按下最下方的  Save 

6. 按下最下方的  Save 後出現以下畫面。

7. 選擇左方 Credentials ,按下  +CREATE CREDENTIALS ,出現下拉選單後,按下「OAuth Client ID」

8. 接著選擇應用程序類型。由於沒有一個選項適合我們使用的API,選擇「Other」其他 。下方輸入名稱,我輸入 gDrive-rPi-ID,在按下  Create 
9. 產生下圖的 Client ID 及 Secert 密碼。



[安裝Go 語言]

下載 go 語言:
$ wget https://dl.google.com/go/go1.13.7.linux-armv6l.tar.gz -O go.tar.gz
解壓縮,將檔案放到 /usr/local
$ sudo tar -C /usr/local -xzf go.tar.gz
加入 go語言的路徑:
$ nano ~/.bashrc
在檔案下方加上以下兩行:
export GOPATH=$HOME/go
export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin
再按下  Ctrl  +  X  ,然後再按  Y  存檔。
執行以下指令讓路徑生效:
$ source ~/.bashrc

[下載編譯 gDrive]

要編譯 gdrive前,先確認系統檔案是否已經更新:
$ sudo apt update
下載 gdrive 原始碼需要 git 工具,安裝指令如下:
$ sudo apt install git
到 github 下載 gdrive :
$ git clone https://github.com/gdrive-org/gdrive
切換目錄,編輯 go語言的程式檔:
$ cd gdrive
$ nano handlers_drive.go
在此文件中,找到以下幾行並將其替換為Google 提供的 Client ID & Secret key。
const ClientId = "Your_Client_ID"
const ClientSecret = "Your_Client_Secret"
再按下  Ctrl  + X  ,然後再按 Y  存檔。
執行以下命令,讓 Go 語言編譯 gDrive 所需的套件及相關程式:
$ go get github.com/prasmussen/gdrive
使用以下指令將 gDrive 編譯到設備中:
$ go build -ldflags '-w -s'
將 gdrive 指令移至/usr/local/bin/,讓指令隨時可以被執行:
$ sudo mv gdrive /usr/local/bin/gdrive設定 gdrive 可執行的檔案權限:
$ sudo chmod a+x /usr/local/bin/gdrive

到這裡已經安裝好gdrive,可是還沒跟 Google drive帳號連結,我們使用 gdrive 來執行列表複製等指令。
例如:gdrive list是列出 Google drive 帳號下的檔案及目錄,我們也用這個指令來進行身份驗證工作,執行 Google Drive的檔案列表:
$ gdrive list


這時需要將上圖 https:...這段文字複製,貼到瀏覽器時,會出現以下視窗:

此時,再將上圖授權碼複製,貼到 gdrive list 出現需要輸入驗證碼的地方,此時可以看到我的 Google Drive 的檔案列表:

有關 gdrive 操作的指令,可以參考 Github gDrive 的說明。

[參考資料]

Post a Comment

較新的 較舊