攝影或3C

Python: Google Cloud 認證終極指南:從 API 金鑰到服務帳戶,如何不下載憑證檔通過認證?避開所有常見錯誤!

Part 0:地基工程 – 萬丈高樓平地起 (前置準備)

在您寫下第一行程式碼之前,必須先完成三項準備工作。90% 的新手問題都出在這裡!

1. 建立一個 Google Cloud 專案 (Project)

所有 Google Cloud 的服務(像 Vision API、虛擬機、資料庫)都必須存在於一個「專案」之內。專案是您管理資源、權限和帳單的單位。

  • 前往 Google Cloud Console
  • 如果您是全新用戶,系統會引導您建立第一個專案。
  • 如果您已經有帳戶,請點擊頁面左上角的專案選單,然後點擊「新增專案」。
  • 給您的專案取一個名字(例如 my-vision-test),並記下系統為您產生的專案 ID (Project ID)

2. 啟用 Cloud Vision API

為了節省費用和安全性,GCP 中的 API 預設是關閉的。您必須手動為您的專案「開啟」您想使用的 API。

  • 在 Cloud Console 頂端的搜尋列中,輸入「Cloud Vision API」。
  • 在搜尋結果中點擊「Cloud Vision API」。
  • 您會看到一個頁面,上面有一個藍色的「啟用 (Enable)」按鈕。點擊它!
  • 注意:如果您的專案尚未連結到帳單帳戶,Google 可能會提示您先設定帳單資訊。這是使用大多數 GCP 商業服務的必要步驟。

3. 安裝 Google Cloud SDK (gcloud)

gcloud 指令並非您電腦內建的程式,它是一個名為 Google Cloud SDK 的工具包中的一部分。您需要先安裝它。

安裝完成後,關閉並重新打開您的終端機(命令提示字元),輸入 gcloud --version。如果能看到版本號,代表安裝成功!

前往 Google Cloud SDK 官方安裝頁面

根據您的作業系統(Windows, macOS, Linux)依照網頁上的指示進行下載和安裝。

在使用 Google 的 AI 和雲端服務時,許多開發者第一個遇到的關卡就是「認證」。為什麼 Gemini API 用的是一組簡單的 API Key,而 Vision API 卻需要一個 .json 憑證檔案?我可以在本機開發時不要管理那個檔案嗎?

本篇指南將徹底釐清這些觀念,並透過實際的錯誤案例,帶您一步步完成最推薦的本機開發認證流程。

第一部分:核心觀念 – 兩種認證方式的區別

首先,您必須理解 Google 有兩套主流的認證體系,對應不同的服務生態:

當您使用 google.cloud 系列的函式庫時,就必須遵循方法 B 的認證規則。

第二部分:最佳實踐 – 在本機開發環境設定認證

在您自己的電腦上開發時,最推薦、最方便的方法是使用 gcloud 命令列工具。它能讓您免於在程式碼中處理 .json 檔案路徑的麻煩。

步驟一:執行登入指令

打開您的終端機 (命令提示字元、PowerShell 或 Terminal),輸入以下指令:

gcloud auth application-default login

步驟二:踩雷點 #1 – 命令提示字元中的錯誤

執行指令後,gcloud 會嘗試打開瀏覽器,但您可能會立刻在終端機看到如下的錯誤訊息。

正如這張截圖所示(後半段為正確的response):

這個錯誤 scope is required but not consented 清楚地告訴我們:「gcloud 工具需要的權限,在瀏覽器頁面中沒有被同意。」

步驟三:踩雷點 #2 – 瀏覽器授權頁面的陷阱 (最關鍵!)

這個錯誤的根源,發生在 gcloud 自動打開的瀏覽器授權頁面中。

這就是關鍵截圖,它完美地解釋了問題所在:

問題分析:
在上圖中,為了讓 gcloud 工具能代表您管理雲端資源,它需要您授予「查看、編輯、設定和刪除您的 Google Cloud 資料…」這個權限。

然而,當時沒有勾選它右邊的核取方塊!

正確操作:
必須在這個頁面:

  1. 勾選☐ 查看、編輯、設定和刪除您的 Google Cloud 資料…」這個選項。
  2. (更簡單的做法是,直接勾選最上方的「☐ 全選」)。
  3. 點擊右下角的「繼續」按鈕。

一旦您正確授權,gcloud 工具就會在您的電腦中產生一個全域的憑證,之後所有 google.cloud.* 的 Python 函式庫都能自動找到並使用它。


第三部分:成功!見證魔法發生

當您正確完成了 gcloud 登入授權後,您的 Python 程式碼就可以變得非常簡潔。

最後成功的程式碼完美地展示了這一點:

程式碼重點分析:

  1. 不再需要手動指定憑證路徑:您看到,設定 os.environ["GOOGLE_APPLICATION_CREDENTIALS"] 的那幾行程式碼已經被註解掉了。這是因為我們不再需要它了!
  2. 自動認證:當程式執行到 client = vision.ImageAnnotatorClient() 這一行時,函式庫的「應用程式預設憑證 (Application Default Credentials, ADC)」機制會自動在您的系統中尋找由 gcloud auth application-default login 所建立的憑證。
  3. 成功執行:因為 ADC 成功找到了憑證,所以您的程式可以順利呼叫 Vision API 並取回辨識結果,如您截圖下方所顯示的標籤列表。

總結

  • 釐清觀念google-generativeai (Gemini) 用 API Key;google-cloud-* (Vision) 用服務帳戶/ADC。
  • 本機開發首選:使用 gcloud auth application-default login
  • 最大陷阱:執行指令後,務必在彈出的瀏覽器頁面中,勾選所有需要的權限,特別是包含「Google Cloud 資料」的選項。
  • 最終程式碼:認證成功後,您的 Python 程式碼中不再需要出現任何憑證路徑或 API 金鑰,讓程式碼更乾淨、更安全。

推薦hahow線上學習python: https://igrape.net/30afN

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡