易混淆對照

API Key 跟 OAuth 2.0 差在哪?一把鑰匙,一張通行證

API Key 是你自己的鑰匙,用來證明你有權呼叫某個服務,帳單算在你頭上,適合公開資料與伺服器之間的呼叫。OAuth 2.0 是使用者授權後發給你的臨時通行證,讓你在使用者同意的範圍內存取他的私有資料,權限可以細分、也能隨時撤銷。想拿別人的信件或雲端檔案,只能走 OAuth,用 API Key 根本做不到。
API Key 跟 OAuth 2.0 差在哪?一把鑰匙,一張通行證:文章重點卡

API Key 跟 OAuth 2.0 差在哪?一把鑰匙,一張通行證

串接自動化工具時,這兩個東西一定會同時出現,而且很多人第一次就選錯,卡在權限錯誤上好幾天。

到底該用哪一個?搞懂差別,才不會用錯方法導致功能失敗或資安風險。

你將學到什麼

一句話定義

API Key 是鑰匙,用來認帳單;OAuth 2.0 是通行證,用來經同意。

白話比喻

一個是你家大門的備用鑰匙,一個是飯店給的臨時房卡。

怎麼選

碰使用者私有資料就走 OAuth,其他情況用 API Key 最省事。

最容易踩的坑

想用 API Key 去讀別人的信箱或雲端硬碟,那條路走不通。

一句話核心觀念

API Key 是鑰匙,用來開門給工具進來,服務認的是帳單。OAuth 2.0 是通行證,由使用者授權給工具進來,重點是保護隱私。

核心差異比較

比較項目API KeyOAuth 2.0
比喻你家大門的備用鑰匙飯店的臨時房卡,可設定房號與期限
本質固定字串授權流程加上臨時存取憑證
使用方式放在 Header 中直接傳送先走授權流程取得憑證,再呼叫 API
認證對象服務本身,認的是帳單使用者本人,需要他同意
權限範圍通常是全部權限或專案層級可細粒度設定,例如只讀特定資料夾
能否存取使用者私有資料通常不行可以,經授權後
有效期限通常永久有效有期限,需要更新
撤銷洩漏風險高,撤回不易可隨時撤銷或更新

什麼時候用哪一個

用 API Key 的時機:你要呼叫的是公開 API 或 AI 模型、不需要存取使用者的個人資料、只要認帳單與流量限制、後端服務之間互相呼叫。

用 OAuth 2.0 的時機:你要存取使用者的信件、雲端硬碟或試算表、需要使用者本人授權、需要細粒度權限控制、需要可撤銷的存取權限。

實際用例

呼叫 AI 模型產生文案,只需要你自己的 API Key,把它放進請求標頭就好。

讀取使用者的雲端試算表則完全不同:使用者點下用自己的帳戶登入、在授權畫面同意你要求的權限範圍、你才拿到存取憑證,之後才讀得到資料。做 Skill 技能 串接第三方服務時,走的通常就是這一條。

新手常見誤區

做法後果
想用 API Key 存取別人的信箱或雲端檔案根本做不到,會拿到未授權或禁止存取的錯誤
把自己的 API Key 寫在前端程式碼任何人都看得到,會被盜用或濫用
要幫使用者存取資料,卻要他把 API Key 給你不安全、難以撤銷、無法精準授權
存取憑證沒有妥善更新或處理過期程式跑到一半掛掉,需要重新授權
不懂權限範圍,全部開到最大資安風險高,使用者也不會信任你的應用
常見誤解最常見的誤解是以為 OAuth 只是比較麻煩的 API Key,能省就省。實際上兩者解決的是不同問題:一個回答「這個服務要跟誰收錢」,另一個回答「這個使用者同不同意」。最佳實務是能用 OAuth 就用 OAuth,不要用 API Key 存私人資料;金鑰放進環境變數或密鑰管理系統;權限給最小必要範圍;定期檢查與輪替;並且記錄與監控使用情況。
本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

為什麼 API Key 不能存取別人的私有資料?
因為 API Key 只證明你是誰、你有權使用這個服務,它不代表任何使用者同意讓你看他的東西。你拿自己的金鑰去要別人的信件,服務端會直接回未授權或禁止存取的錯誤,這是設計上就擋住的。
OAuth 的 Token 過期了怎麼辦?
正常流程會同時發一組可以換新的憑證,程式要在存取憑證過期前自動換新。沒處理好的典型症狀是程式跑到一半突然掛掉,然後要求使用者重新授權一次。這是新手很常忽略的一步。
兩個可以同時用嗎?
可以,而且很常見。同一個工作流裡,呼叫 AI 模型的部分用你自己的 API Key,讀取使用者雲端檔案的部分走 OAuth。判斷標準只有一個:這次要碰的資料是你的,還是別人的。