# 建立 Google Cloud 專案 - 進入 https://console.cloud.google.com 並登入 Google 帳戶。 - 建立新專案並命名,例如 Google login。 - 選取剛建立的專案,開啟「API 與服務」>「憑證」。 # 設定 OAuth 同意畫面 - 選擇使用者類型為「外部」。 - 填寫應用程式名稱與開發者聯絡資訊。 - 新增 Scopes,例如:email、profile。 - 新增測試用戶(需為你有權登入的 Gmail)。 # 建立 OAuth 2.0 憑證 - 點選建立憑證,選擇 OAuth 用戶端 ID。 - 選擇應用程式類型為「網頁應用程式」。 - 在授權的重新導向 URI 中加入 Postman 的 redirect URL。 # 設定 Postman 取得 Access Token - 在 Postman 的 Authorization 標籤選擇 OAuth 2.0。 - Grant Type 選擇 Authorization Code。 - 填入 Client ID、Client Secret。 - 加入所需的 scope(如 userinfo.email)。 - 點擊「Get New Access Token」,使用測試帳號登入授權。 - 若出現彈跳視窗問題,需至瀏覽器開啟彈窗權限。 - 登入後取得 Access Token 並儲存使用。 # 使用 Token 呼叫 Google API - 嘗試透過 Token 呼叫 Google Cloud API(例如查詢專案列表)。 - 若出現 insufficient authentication scopes,需新增額外 scope。 - 多個 scope 可用空格分隔並重新取得新 token。 # 啟用 Google Cloud Resource Manager API - 進入專案中的「啟用 API 與服務」。 - 搜尋並啟用「Cloud Resource Manager API」。 - 啟用後重新發送請求,即可成功取得專案清單。 # Resource * [Cloud Resource Manager API ](https://cloud.google.com/resource-manager/reference/rest) ---  欄位 | 值 | -------- | -------- | Grant Type | Authorization Code Callback URL | https://oauth.pstmn.io/v1/callback(跟你在 Google Console 設的一樣) Auth URL | https://accounts.google.com/o/oauth2/v2/auth Access Token URL | https://oauth2.googleapis.com/token Client ID | 你在 Google Console 建立的 Client Secret | 同上 Scope | openid email profile https://www.googleapis.com/auth/youtube https://www.googleapis.com/oauth2/v3/userinfo State | 可以空白 Client Authentication | Send as Basic Auth header ``` ya29.a0AW4Xtxg05zKSGgLvSBDw-Qmmp88zZVyHrPlaXpZ8MaZRs3-j78p41gPwNOxcxtlDAz1erzX5aHK2tJCtXGjs18-_toyN9eOVdHUDfw_dsAp-mR5aqZEzv4X3qDNcwFLiJ9uWUe3eBZyZlLpkTUPaBA3MCJY8KIRfijze0YUHMHMaCgYKAVUSARUSFQHGX2MiRfF2HB6phHptmzDLtSLDQQ0178 ``` ``` 526518801458-1ggj4pothqg4o1pagjoq0mf7us19ui7s.apps.googleusercontent.com ``` ``` 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 ``` ``` let response = pm.response.json(); pm.globals.set("google_access_token", response.access_token); ```   # Terminology - Google Cloud Console:Google 提供的雲端平台管理介面,用來建立與管理雲端專案與資源。 - OAuth 2.0:一種授權框架,允許第三方應用程式存取使用者資源而不洩漏密碼。 - Client ID:OAuth 中辨識應用程式身分的唯一識別碼。 - Client Secret:OAuth 中的密鑰,用來驗證應用程式身分。 - Redirect URI:OAuth 驗證成功後導回應用程式的網址。 - Authorization Code:OAuth 驗證流程中,授權伺服器提供的暫時代碼。 - Access Token:OAuth 授權後取得的存取令牌,用於存取受保護資源。 - Refresh Token:用於延長存取權限效期的令牌。 - Postman:API 測試工具,用來發送請求並查看回應。 - Token Name:Postman 中自訂存取令牌的名稱。 - Scope:OAuth 中的權限範圍,用來指定授權存取哪些資料。 - Email Scope:允許應用程式存取使用者的電子郵件資訊。 - Userinfo.email:OAuth 的一個範圍,取得使用者的 email。 - userinfo.profile:OAuth 的一個範圍,取得使用者的基本個人資料。 - External User Type:OAuth 同意畫面中允許外部使用者登入的選項。 - OAuth Consent Screen:OAuth 流程中顯示給使用者授權資訊的頁面。 - Google Cloud Project:Google Cloud 中的專案單位,用來管理資源和 API。 - Credentials:在 Google Cloud 中的憑證,用於 OAuth 驗證。 - API & Services:Google Cloud 中的服務管理入口,可啟用各種 API。 - OAuth Client ID:用於建立 OAuth 憑證的選項,產生 client ID 和 secret。 - Web Application:OAuth 應用類型之一,常見於前端應用程式。 - Test Users:在測試模式中允許登入應用的使用者帳號。 - Authorization Tab:Postman 中設定授權方式的分頁。 - Grant Type:OAuth 中的授權類型,例如 Authorization Code。 - Get New Access Token:Postman 中的按鈕,用於產生新的存取令牌。 - Popup Blocker:瀏覽器中阻擋彈出視窗的功能,需要關閉以進行 OAuth 登入。 - Privacy and Security:瀏覽器中設定隱私與安全性選項的位置。 - Site Settings:瀏覽器中針對特定網站的設定頁面。 - Cloud Resource Manager API:Google Cloud 提供的 API,用於管理專案與資源。 - Enable API:在 Google Cloud 中啟用 API 服務的動作。 - API Disabled Error:API 未啟用時會回傳的錯誤訊息。 - API Permissions:授權應用存取特定 Google API 的權限。 - Insufficient Authentication Scopes:OAuth 權限範圍不足的錯誤訊息。 - JSON 憑證檔:包含 client ID 和 client secret 的 JSON 格式檔案。 - Open in Browser:Postman 中使用瀏覽器開啟 OAuth 登入畫面的選項。 - Proceed:授權完成後在 Postman 中繼續流程的按鈕。 - Token Expiration:OAuth 存取令牌的有效時間。 - Authorization Error:授權流程中出現錯誤的訊息。 - API Call:發送 API 請求至伺服器取得或操作資料的動作。 - API Response:伺服器回應 API 請求所傳回的資料。 - Cloud Project ID:Google Cloud 專案的唯一識別碼。 - Deleted Project:已刪除但仍可見於列表中的 Google Cloud 專案。 - Testing Mode:OAuth 應用仍在測試階段,只限特定使用者登入。 - Dashboard:Google Cloud 中的主控台,用於查看項目總覽。 - Create Credentials:建立新的 API 憑證流程。 - Add Scope:在 OAuth 同意畫面中加入新的授權範圍。 - Save and Continue:儲存當前 OAuth 設定並繼續下一步。 - Summary Screen:設定流程的摘要畫面。 - Developer Contact Info:開發者聯絡資訊,顯示於 OAuth 同意畫面。 - Authorization URL:發起 OAuth 授權請求時所使用的網址。 - Token Exchange:OAuth 流程中將授權碼兌換為存取令牌的步驟。 - Consent Prompt:使用者登入時顯示的授權同意提示。
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.