備份至 Google Drive
逐步教學:建立 Google Cloud 專案、啟用 Drive API、發布 OAuth 同意畫面,並取得 Client ID、Client Secret 與 Refresh Token 貼入 CreateYourVPN 的備份設定。
若要備份至您自己的 Google Drive,CreateYourVPN 需要來自 Google 的三個值:一個 Client ID、一個 Client Secret 與一個 Refresh Token。您只需取得它們一次、貼入備份設定,之後就再也不必碰 Google。
Google Cloud Console 的實際措辭會不時變動,因此請將下方的點按路徑當作一張地圖,而非逐像素精確的腳本 — 各區塊的名稱與此大致相符。
最重要的單一步驟,就是將同意畫面發布為「In production」(步驟 3)。若您將它留在 Testing 模式,Google 會在 7 天後使您的 refresh token 失效,備份便會悄悄停止且沒有明顯的錯誤訊息。請勿略過此步驟。
步驟 1. 建立專案
開啟 Google Cloud Console,並以您想用來存放備份的那個 Drive 所屬的 Google 帳號登入。
在頂部列開啟專案選擇器並點按 「New Project」。為它取任意名稱(例如 CYV Backups)並建立。在繼續之前,請確認已選取這個新專案。
步驟 2. 啟用 Google Drive API
前往 APIs & Services → Library。
搜尋 「Google Drive API」,開啟它,並點按 「Enable」。
步驟 3. 設定並發布同意畫面
前往 APIs & Services → OAuth consent screen。
選擇 「External」 使用者類型,並填入必要的基本資訊:應用程式名稱(例如 CYV Backups)、您的支援電子郵件,以及開發者聯絡電子郵件。選填欄位可以留空。
一路儲存並完成精靈。當您回到 OAuth 同意畫面總覽時,找到 「Publishing status」 並點按 「Publish app」,讓狀態變成 「In production」。
**發布狀態必須顯示為「In production」,而非「Testing」。**在 Testing 模式下,Google 會將 refresh token 視為短期有效,並在 7 天後撤銷它 — 您的備份會順利運作一週後便悄然失敗。發布至正式環境才能讓權杖持久有效。Google 可能會顯示一則嚇人的「unverified app」提示;在此情況下沒有問題 — 這個應用程式只會由您自己、為您自己的 Drive 所使用,而且它只請求下方那個範圍狹窄的權限。
步驟 4. 建立 OAuth Client ID(Web application)
前往 APIs & Services → Credentials → Create credentials → OAuth client ID。
在 Application type 選擇 「Web application」 並為它取個名稱。請勿選 「Desktop app」 — 步驟 5 的 OAuth Playground 會向 Google 遞交一個 redirect URL,而唯有 Web application 類型的用戶端才能將它加入白名單。
在 「Authorized redirect URIs」 下,點按 「+ Add URI」,並不帶結尾斜線地原樣貼上這一行:
https://developers.google.com/oauthplayground若少了這一行,Google 會在步驟 5 以 Error 400: redirect_uri_mismatch 阻擋登入。
點按 「Create」。Google 會顯示一個 Client ID 與一個 Client Secret — 兩者都複製下來。這是您要貼入 CreateYourVPN 的三個值中的兩個。
已經建立了 「Desktop app」 用戶端並撞上 Error 400: redirect_uri_mismatch?這正是原因:desktop 用戶端無法持有 redirect URI,所以 Playground 無法使用它。請新建一個帶有上述 redirect URI 的 Web application 用戶端,並使用它的 Client ID 與 Secret。
步驟 5. 取得 Refresh Token
refresh token 讓 CreateYourVPN 得以依排程寫入 Drive,而無需您每次都登入。取得它最快的方式是 Google OAuth Playground。
點按齒輪圖示(右上角的設定),勾選 「Use your own OAuth credentials」,並貼上步驟 4 的 Client ID 與 Client Secret。
在左側的 「Step 1」 面板中,不要從清單中挑選 — 捲動至 input your own scopes 方塊,並確切輸入:
https://www.googleapis.com/auth/drive.file接著點按 「Authorize APIs」 並以同一個 Google 帳號登入。核准該存取。
在 「Step 2」 中,點按 「Exchange authorization code for tokens」。回應中會包含一個 refresh_token — 複製它的值。
drive.file 範圍刻意設計得很狹窄:它只允許應用程式檢視與管理它自己所建立的檔案,絕不會觸及您 Drive 中的其他內容。備份所需的僅止於此。若您偏好執行自己的同意流程而非使用 Playground,那也沒問題 — 只要以相同的 drive.file 範圍搭配 access_type=offline 請求,Google 就會回傳一個 refresh token。
步驟 6. 貼入 CreateYourVPN
在後台開啟 帳號選單 → 備份,選擇 Google Drive 作為目的地,並貼上:
- Client ID(步驟 4)
- Client Secret(步驟 4)
- Refresh Token(步驟 5)
接著選擇您的密語、頻率與保留期限,然後儲存。
您不需要輸入資料夾 ID。第一次執行時,應用程式會在您的 Drive 中建立它自己的 「CYV Backups」 資料夾,並將每一份備份都保存在那裡 — 您 Drive 中的其他內容都不會被觸及。