報導室REPORT
報導室・教學

gog 授權實作步驟

2026-09-07 工作坊現場稿|每一步都在 2026-09-06 實際走過一遍,畫面就是你會看到的畫面

開始之前你需要三樣東西:一個 Google 帳號、一台開著 Chrome 的 Mac、大約二十分鐘。 全程不用付錢,也不會用到信用卡——今天用到的 Gmail、雲端硬碟、行事曆、試算表這些 Workspace API 都在免費額度內,不需要建立帳單帳戶,也不必參加那個要刷卡的 $300 試用。

兩步驟驗證請在來之前開好。建立專案本身不強制,但 Google 從 2024 年 11 月起分階段把多因素驗證變成 Cloud 帳號的必要條件,2025 年底完成全面實施,所以現在登入 Google Cloud 主控台很可能被要求當場設定。現場才設定要收簡訊、要拿手機,一個人卡住就會拖住整批人——請先到 myaccount.google.com/security 把「兩步驟驗證」打開。

另外,第 0a 與 0b 步要先做完——那是把 Claude Code 與 Codex 兩支命令列助理裝起來。後面所有步驟拿到的鑰匙,最後都是交給它們用的;沒有它們,第 7 步接不上去。

先講一件事,免得你做到一半才發現。 最後一步「把應用程式發布成正式版」要填三個網址。有自己的網域(例如 你的名字.com)最方便, 沒有的話用我們借你的也可以——直接填這場工作坊的網址就過得了,實測過。詳情看第 6 步。

0a裝 Claude Code CLI

今天要做的每一件事,最後都是講給一個「會用你電腦的助理」聽。這一步就是把那個助理裝進終端機。

開終端機(Terminal,在「應用程式 → 工具程式」裡;或按 ⌘ + 空白鍵 打「終端機」按 Enter),貼這一行:

brew install --cask claude-code

裝完確認:

claude --version

印出版本號(例如 2.1.236)就對了。第一次執行 claude 會請你在瀏覽器登入 Anthropic 帳號,照畫面按完就好。

沒有 Homebrew、或這行跑不動,改用官方安裝script:
curl -fsSL https://claude.ai/install.sh | bash
已經有 Node.js 的人也可以走 npm:
npm install -g @anthropic-ai/claude-code
三條路裝出來的是同一支程式,挑一條跑就好,不用三條都跑。
終端機裡執行 brew install --cask claude-code 與 claude --version
這一段在終端機裡長這樣。三行指令、一個版本號,就裝完了。

0b裝 Codex CLI

Codex 是 OpenAI 那邊的同類工具。裝兩支不是重複——它們的長處不一樣,同一個問題丟兩邊得到兩種答案,是今天後面會用到的習慣。

一樣在終端機裡貼:

brew install codex

裝完確認:

codex --version

印出 codex-cli 0.153.4 這類字樣就對了。第一次執行 codex 同樣會請你在瀏覽器登入 ChatGPT 帳號。

沒有 Homebrew 就走 npm:
npm install -g @openai/codex
終端機裡執行 brew install codex 與 codex --version
Codex 同一個節奏。兩支都印得出版本號,這一段就過了。
兩支都印得出版本號,這一段就過了。 兩個登入都不用付錢給我們,也不會用到信用卡;付費與否看你自己在各家的方案。 卡住的話不要卡在原地——把終端機裡的紅字整段貼進 Meet 聊天室,現場會有人接。

0c先把 gog 裝起來

開「終端機」(Terminal,在 應用程式 → 工具程式 裡),貼這一行:

brew install openclaw/tap/gogcli

裝完確認版本:

gog --version

看到 v0.39.0 或更新就對了。

電腦裡沒有 Homebrew 的話,先貼這一行裝 Homebrew,裝完再回來跑上面那行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
真的不想裝 Homebrew,也可以直接抓現成的執行檔:
mkdir -p ~/.local/bin && curl -fsSL https://github.com/openclaw/gogcli/releases/download/v0.39.1/gogcli_0.39.1_darwin_arm64.tar.gz | tar xz -C ~/.local/bin gog
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
(這行是 Apple 晶片的機器用的。2020 年以前的 Intel Mac 把網址裡的兩個 arm64 換成 amd64。)
終端機裡執行 brew install openclaw/tap/gogcli 與 gog --version
gog 裝完的樣子。看到 0.39.0 或更新的版本號就可以往下走。

1建立一個 Google Cloud 專案

  1. 開這個網址:https://console.cloud.google.com/projectcreate
  2. 「專案名稱」欄裡本來有一串 My Project 12345,把它全部刪掉,改打你自己取的名字。
  3. 下面那行「專案 ID」會跟著你打的字變。這串 ID 之後會用到,先看一眼記著。
  4. 「組織」和「父項資源」兩欄不用動,維持「無組織」。
  5. 按左下角藍色的「建立」。等大約十秒。
新增專案畫面,專案名稱已填好
第 1 步:名稱打好、專案 ID 跟著變,按藍色「建立」。

建好之後畫面會跳走。左上角那顆專案選單要顯示你剛建的名字,才表示你現在人在新專案裡。

新專案的資訊主頁
建好的樣子。左上角專案選單顯示新專案名稱。

2啟用六個 API

gog 要能讀你的信箱、行事曆、雲端硬碟,得先在這個專案裡把對應的 API 打開。 一次開六個,每個都是同一個動作:開網址 → 按藍色「啟用」 → 等它跳到另一頁。

Gmailconsole.cloud.google.com/apis/library/gmail.googleapis.com
日曆…/apis/library/calendar-json.googleapis.com
雲端硬碟…/apis/library/drive.googleapis.com
文件…/apis/library/docs.googleapis.com
試算表…/apis/library/sheets.googleapis.com
聯絡人…/apis/library/people.googleapis.com

日曆那個網址中間是 calendar-json 不是 calendar,這是 Google 自己的歷史包袱,不是打錯。

Gmail API 頁面,藍色啟用按鈕
每一個 API 的畫面都長這樣。按左邊藍色的「啟用」。

按下去之後大約十秒,畫面會自己跳到一個有折線圖的頁面(標題是「API/服務詳細資料」)。 跳過去了就代表這個開好了,回上一頁換下一個。

3設定 OAuth(Google 驗證平台)

這一步是告訴 Google:「等一下會有一支程式想用我的帳號,這支程式叫什麼名字、出事找誰。」

  1. 開 https://console.cloud.google.com/auth/overview
  2. 畫面中央寫「尚未設定 Google 驗證平台」,按藍色「開始」。
尚未設定 Google 驗證平台,中間有開始按鈕
第 3 步的起點。左邊那排選單之後還會用到:品牌、目標對象、用戶端。

接下來是一個四步的表單。

① 應用程式資訊

這裡有個坑。「應用程式名稱」不要只打三個字母的 gog, Google 會回你「應用程式名稱不符 Google 規定,因此要求失敗」,而且它是等你把四步全部填完、 按下「建立」才報錯。打長一點,例如 gog workshop demo、我的 Google 助理 都可以。
專案設定四步表單的第一步
四個步驟:應用程式資訊、目標對象、聯絡資訊、完成。

② 目標對象

兩個選項:內部、外部。如果你用的是一般的 gmail.com 帳號,只能選「外部」 (「內部」是給公司用 Google Workspace 的人)。選了按「下一步」。

目標對象:內部與外部兩個選項
個人帳號選「外部」。這不代表別人會看到你的東西——只有你自己授權的帳號能用。

③ 聯絡資訊

再填一次你自己的信箱(這欄要手打,不是下拉)。按「下一步」。

④ 完成

勾「我同意《Google API 服務:使用者資料政策》」,按「繼續」,再按最下面藍色的「建立」。 成功的話畫面右下角會冒出一條黑色訊息:OAuth 設定建立完成!

4建立 OAuth 用戶端

上一步是登記「這支程式是什麼」,這一步是拿到「鑰匙」。

  1. 剛才那頁上會出現一顆「建立 OAuth 用戶端」按鈕,按它。 (或直接開 console.cloud.google.com/auth/clients/create)
  2. 「應用程式類型」下拉,選「電腦版應用程式」。
英文教學寫的 Desktop app 就是「電腦版應用程式」,中文介面裡沒有 Desktop 這個字, 很多人在這裡找不到而選錯成「網頁應用程式」。選錯的話後面授權會一直失敗。
應用程式類型下拉選單,六個選項
下拉選單最後一個就是「電腦版應用程式」。
  1. 「名稱」欄它自己會填「電腦用戶端 1」,不用改。
  2. 按藍色「建立」。
選好電腦版應用程式後的畫面
選好之後會多一個名稱欄,還有一行小字說設定可能要 5 分鐘到數小時才生效。
接下來這個對話框,關掉就再也看不到了。 跳出「OAuth 用戶端已建立」之後,先按左下角的「下載 JSON」,把檔案存到你找得到的地方 (例如桌面)。這個檔案就是你的鑰匙,裡面有用戶端密碼,關掉視窗之後密碼無法再查看。
OAuth 用戶端已建立的對話框,ID 與密碼已遮蔽
示範畫面裡的用戶端 ID 與密碼已經塗掉。你自己的畫面上會是一長串字。

5把鑰匙交給 gog、完成授權

回到終端機(Terminal)。下面兩行的路徑換成你剛才下載的那個檔案。

gog auth credentials ~/Downloads/client_secret_xxx.json

gog auth add 你的信箱@gmail.com --services gmail,calendar,drive,docs,sheets,contacts

第二行會自己開瀏覽器,出現 Google 的同意畫面。這時會看到一頁寫著 「Google 尚未驗證這個應用程式」——這是正常的,因為這支程式就是你自己剛做的。 點左下角「進階」,再點「前往(你的應用程式名稱)(不安全)」,然後照常勾選同意。

做完跑這行檢查:

gog auth doctor --check

它會真的拿你的 refresh token 去換一次 access token,全綠才算真的成功—— 不是「檔案存在」就算成功。

終端機裡的 gog auth credentials、gog auth add 與 gog auth doctor --check
三行做完授權。最後那行 doctor 會真的去換一次 token,全綠才算成功——檔案存在不算。

6發布成正式版(決定七天後還能不能用)

為什麼一定要做這步:應用程式留在「測試」狀態時,Google 發的 refresh token 只活七天。七天後你的助理會突然全部失效,要整個重跑一次授權。

開 https://console.cloud.google.com/auth/audience。 你會看到「發布應用程式」按鈕是灰的,上面有一條黃色警告寫著 「應用程式的 OAuth 設定未完成。如要繼續操作,您必須輸入缺少的資訊。」

缺的是三個網址。按警告裡的「前往『品牌』頁面」,往下捲到「應用程式網域」,把三欄填滿:

品牌頁面,三個網址欄位是空的
「品牌」頁面。三個網址欄位在這一頁往下捲的位置。

填完會冒出紅字「缺少網域:你的網域」。這時按下面的「+ 新增網域」, 在「已授權網域 1」欄填你的頂層網域(例如網址是 https://dev.example.com/, 這裡就填 example.com),紅字會消失。按「儲存」, 畫面下方出現「已儲存品牌宣傳變更!」。

回到「目標對象」頁,黃色警告不見了,「發布應用程式」變成可以按。 按下去會問「要推送至正式環境嗎?」,按「確認」。

發布應用程式按鈕已可按
補完品牌資訊之後的樣子,警告消失、按鈕解鎖。
發布狀態變成「實際運作中」、按鈕變成「返回測試應用程式」,就成功了。 這時 refresh token 不再七天過期。
發布狀態顯示實際運作中
完成。頁面會說明:未經核准的範圍有 100 位使用者上限、使用者會看到「未經驗證」畫面——自己一個人用完全不受影響。

沒有自己的網域怎麼辦

三個網址欄位不能留空,所以沒有網域的人會停在這裡。三條路:

  1. 先不發布,留在測試狀態。一切照常能用,只是每七天要重跑一次 gog auth add。想先試試看的人選這條。
  2. 去買一個網域。一年台幣三百上下,之後架自己的助理也會用到。
  3. 用你已經有的任何一個網頁位址。只要那個網域是你的就行。
  4. 直接借用這場工作坊的網址。實測過:Google 在這一步不驗網域擁有權——我們示範用的帳號在 Search Console 一個網站都沒驗證,照樣存檔並發布成功。三欄依序填 https://dev.life-os.work/pub/gog-steps/、https://dev.life-os.work/pub/privacy/、https://dev.life-os.work/pub/terms/,已授權網域填 life-os.work。但那份隱私權政策寫的是我們的做法——你自己一個人用沒差,之後這支程式要給別人用,記得換成你自己的。

7接到你的對話介面

授權完之後不用再設定任何東西。gog 就是你電腦上的一支指令, 第 0a、0b 步裝的那兩支助理本來就會用終端機,所以你直接開口叫它們用 gog 就好—— 「幫我看今天有幾封未讀」「把這份試算表的第二欄讀出來」,它自己會去下 gog 指令。

不必安裝外掛、不必貼 JSON、不必加什麼伺服器。 你剛剛拿到的鑰匙是給 gog 用的,而 gog 已經在助理的手邊。
終端機裡跟助理對話,助理自己去下 gog gmail search 指令
你講人話,它自己翻成 gog 指令。這張是示範資料,不是真的信箱內容。

要在手機或桌面應用程式上用同一套,兩家各有一個指令:

它說「我只能讀不能動」的時候

兩支助理的預設權限都偏保守:Codex 起手是唯讀沙箱,Claude Code 每個指令會先問你一次。 第一次叫它跑 gog 寫東西(寄信、改文件、建活動)時,它會停下來要你點頭——那時候把它打開就好, 不用事先設定。想更保守一點,讓它只讀不寫,就叫它加 --readonly; 只想擋寄信,用 --gmail-no-send。

幫別人裝的時候,先從「只讓它讀」開始,等對方習慣了再放開寫入。

8卡住的時候

C1Cloudflare① API 權杖:只給需要的權限

下面四步是另外兩根樁——Cloudflare 與 LINE。現場時間不夠不會一起做, 但把它們接起來,你的助理才有自己的門牌和對講機。這幾步回家照著走就行。

順序建議:先開帳號、發權杖,再買網域。 Cloudflare 在 2026 年 4 月 15 日開了 Registrar API(beta), 搜名字、查價、下單都能用 API 做,等於連買網域這一步都可以交給助理。 前提是帳號要先有付款方式與預設註冊人聯絡資料,並同意網域註冊約定。 只想買一個網域的人照下面手動走也完全沒問題。
  1. 給程式用的選 Account token:Manage Account → API Tokens → Create Token。 自己手動操作才用 My Profile 底下的 User token。
  2. 選「自訂權杖」,把下面這幾項一次給齊——給太少等一下會卡住:
    • 帳戶層 Registrar(網域註冊)寫入:要它能幫你買網域就得有這項。
    • 區域層 DNS 編輯:開子網域、把網址指到你的服務靠這項。
    • 帳戶層 Cloudflare Tunnel 編輯:建通道、換通道。
    • 帳戶層 Workers 腳本編輯與 Pages 編輯:要它幫你把東西部署成公開網址。
    • 區域層 Zone 讀取:幾乎每支 API 都會先讀一次 zone 清單。
    Cloudflare 建立 Token 頁面,權限原則、到期時間與 IP 過濾三塊
    建立 Token 的表單。上面是名稱,中間「從頭開始」就是自訂權杖,下面設到期時間與來源 IP。
  3. 範圍選整個帳戶底下的所有 zone,不要只綁現在這一個。 之後新買的網域不在舊範圍裡,權杖會突然對新網域無效,那個錯誤訊息很難聯想到這裡。
  4. 要更保守可以加來源 IP 白名單與到期日,但別把權限砍到只剩讀取—— 那等於請了助理卻不給鑰匙。真正不該用的是帳號總鑰匙 Global API Key,那把是全權限沒有範圍。
  5. 秘密只顯示一次,當場存進 .env 或 Keychain,關掉就要不回來。

存完立刻確認它是活的:

curl -H "Authorization: Bearer $CF_TOKEN" \
  https://api.cloudflare.com/client/v4/user/tokens/verify

新發的權杖帶 cfut_ 前綴,外洩掃描工具認得出來。

終端機裡用 curl 打 Cloudflare 的 tokens/verify 端點,回傳 status active
存完權杖立刻打一次真請求。回 status active 才算活的。

權杖發完,Cloudflare 就交給助理

這是我們的建議做法:你本人只做兩件事——發一把權杖、買網域, 剩下的 DNS 紀錄、子網域、Workers 或 Pages 部署,全部用講的交給 Claude Code 或 Codex。 把權杖放進環境變數,它們就叫得動 Cloudflare 的 API 與 wrangler:

export CLOUDFLARE_API_TOKEN=你剛剛拿到的權杖   # 建議寫進 ~/.zshrc 或 .env

然後你就可以直接說「幫我把 bot 這個子網域指到那條 tunnel」「把這個資料夾部署成 Pages」, 它自己去查文件、下指令、驗結果。手動點後台反而慢。

只有一件事一定要你本人做一次:cloudflared tunnel login。 那一步會開瀏覽器要你選網域授權,產生的憑證留在你電腦上; 之後建 tunnel、掛 DNS 都可以交給助理。

C2Cloudflare② 網域:可以叫助理去買

自己買也可以,四步

  1. 登入 Cloudflare 後台,左邊選單找網域註冊 → 註冊網域, 像搜尋一樣打你想要的名字,它會告訴你有沒有人用、一年多少錢。
  2. 選好按 Purchase,挑年限(多數網域最長可以一次買十年),填聯絡資料、付款。 聯絡資料只能打英文與數字,中文姓名地址會被退件,這是網域這一行的老規矩。
  3. 付完款,管理網域的機構(ICANN)會寄一封確認信到你填的信箱,點一下就好。 不點的話網域過幾天會被暫停,打開只會看到一頁空白的停放頁。
  4. 買完不用再搬家。在別的地方買網域,通常還要手動把「這個網址交給誰管」的設定搬到 Cloudflare; 在這裡買就已經在同一個後台,DNS 那頁直接改。
Cloudflare 註冊網域的搜尋結果,列出各種結尾的一年價格
後台搜尋長這樣。打一個名字就把各種結尾的價格一次列出來,寫「續約」的是明年起每年的價錢。

我們自己的用法是:一台機器配一個子網域,例如 bot.你的網域。 中間用 Cloudflare 的通道(tunnel)接,家裡的網路不用對外開任何一個口子—— 等於不在自家牆上打洞,外面的人也找不到你家 IP。建立通道與掛上網址是這兩行:

cloudflared tunnel create <name>
cloudflared tunnel route dns --overwrite-dns <UUID> bot.example.com
第二行要填通道的 UUID,不要填通道的名字。 那串 UUID 是建立通道時印給你的一長串英數字。 另外一定要加 --overwrite-dns 明確覆蓋舊紀錄——我們少加過一次,網址就指到錯的地方去了。

叫助理去買,用這三支

上一步那把權杖要帶 Registrar write 權限,另外需要你的 account ID:

GET  /accounts/{ACCOUNT_ID}/registrar/domain-search   # 從關鍵字找候選名字
POST /accounts/{ACCOUNT_ID}/registrar/domain-check    # 直接問註冊局:還在嗎、多少錢
POST /accounts/{ACCOUNT_ID}/registrar/registrations   # 下單

search 拿的是快取結果,下單前一定要再 check 一次現況,不然容易在註冊那步吃錯誤。 目前 beta 只開放部分 TLD,續約、移轉、改聯絡資料還不能用 API 做,那些仍要進後台。

L1LINE① 官方帳號:免費開、五分鐘

  1. 入口 tw.linebiz.com/account → 免費開設帳號,用 LINE 帳號或商用帳號登入。
  2. 填名稱、Email、業種就好,建好就有基本 ID(@ 加一串隨機字)。
  3. 未認證的灰盾免費,自己用完全夠。藍盾認證要買專屬 ID 加公司文件,個人不需要。
  4. 後台是 manager.line.biz,支援「行動條碼登入」——遠端幫朋友裝機時我們就是靠這條進去。

我們的用法是一台助理機配一個官方帳號,加好友就能開始聊。

L2LINE② Messaging API:三個值接上機器

2024 年 9 月 4 日起,Developers Console 不能直接建 channel。 一律從官方帳號後台按「啟用 Messaging API」。過程會要你選或新建 Provider, 綁了就不能換,名字先想好。
LINE 官方帳號後台的 Messaging API 設定頁,狀態未使用與啟用按鈕
官方帳號後台 → 設定 → Messaging API。狀態寫「未使用」,按下「啟用Messaging API」才會進到選 Provider 那一步。
  1. 後台 → 設定 → Messaging API → 啟用,選 Provider。
  2. Channel ID 與 Channel secret 在後台的 Messaging API 設定頁就看得到。
  3. 長效 channel access token 只在 Developers Console 的 Messaging API 分頁發得出來,後台沒有。
  4. Webhook URL 填你的 Cloudflare 子網域加路徑,並打開 Use webhook。
  5. 回應設定改成聊天機器人模式,把自動回應關掉,不然機器人講一句官方帳號補一句罐頭。
LINE Developers Console 的 Channel access token 區塊,權杖已遮蔽
長效 token 在 Developers Console 這裡發。畫面上這串是遮過的——真的那串發出來只顯示一次。

這三個值(Channel ID、secret、長效 token)交給助理機,它就接通了。

終端機裡 cat .env 與 curl 打 LINE bot/info 端點,回傳 chatMode bot
接上之後打一次 bot/info。回得出名字、chatMode 是 bot,才算真的通了。

這份稿子的每一步都在 2026-09-06 深夜用一個全新的 Google Cloud 專案實際走過一遍, Google Cloud 控制台的畫面就是走的時候拍的(含個人資訊與憑證的部分已塗掉), 介面文字以繁體中文版控制台為準。 終端機那幾張是照實際指令與版本號重新排版過的示意圖,字比原始截圖大、好讀; 指令與版本號本身沒有改。 Cloudflare 與 LINE 後台的四張是 2026-09-07 在真的後台拍的, 信箱、帳號 ID、網域、權杖與 QR code 都已遮蔽,長效 token 那串在截圖前就先在頁面上換成圓點。