Places API (新版) 支援使用 OAuth 2.0 進行驗證。Google 也支援常見的 OAuth 2.0 使用情境,例如網路伺服器應用程式。
本文說明如何在開發環境中,將 OAuth 權杖傳遞至 Places API (新版) 呼叫。如要瞭解如何在實際作業環境中使用 OAuth,請參閱「Google 的驗證」一文。
事前準備
您需要擁有具備帳單帳戶的專案,並啟用 Places API (新版),才能開始使用 Places API (新版)。建議您建立多個 專案擁有者和帳單管理員,因此您隨時都有擔任這些角色的成員 專屬於您的團隊請參閱這篇文章,進一步瞭解如何在 Cloud 控制台中完成相關設定。
關於 OAuth
您可以透過多種方式,根據部署環境使用 OAuth 建立及管理存取權權杖。
舉例來說,Google OAuth 2.0 系統支援伺服器對伺服器的互動行為,例如應用程式和 Google 服務之間的互動。您需要具備服務帳戶 是應用程式擁有的帳戶,而非個別使用者的帳戶。應用程式會代表服務帳戶呼叫 Google API,因此使用者不會直接參與其中。如要進一步瞭解驗證方法,請參閱: Google 的驗證。
此外,您也可以在 Android 或 iOS 行動應用程式中使用 Places API (新版)。 概略瞭解如何搭配 Places API 使用 OAuth (新版),包括管理 存取權杖 使用 OAuth 2.0 存取 Google API。
關於 OAuth 範圍
如要搭配 Places API (新版) 使用 OAuth,則必須為 OAuth 權杖指派範圍:
https://www.googleapis.com/auth/cloud-platform
範例:在本機開發環境中試用 REST API 呼叫
如果您想使用 OAuth 權杖試用 Places API (新版),但沒有設定環境來產生權杖,可以使用本節的程序進行呼叫。
本範例說明如何使用應用程式預設憑證 (ADC) 提供的 OAuth 權杖來發出呼叫。如要進一步瞭解如何透過 ADC 呼叫 Google API,請參閱這篇文章: 使用用戶端程式庫進行驗證。
必要條件
在使用 ADC 提出 REST 要求之前,請使用 Google Cloud CLI 為 ADC 提供憑證:
- 如果您尚未建立專案並啟用計費功能,請按照下列步驟操作: 在 Google Cloud 控制台中完成相關設定。
- 安裝並初始化 gcloud CLI。
在本機電腦上執行下列
gcloud
指令,建立憑證檔案:gcloud auth application-default login
- 系統隨即會顯示登入畫面。登入後,您的憑證會儲存在 ADC 使用的本機憑證檔案。
詳情請參閱「為應用程式預設憑證提供憑證」說明文件的「本機開發環境」一節。
提出 REST 要求
在這個範例中,您會傳遞兩個要求標頭:
使用下列指令在
Authorization
標頭中傳遞 OAuth 權杖 產生憑證的指令:gcloud auth application-default print-access-token
傳回的權杖範圍
https://www.googleapis.com/auth/cloud-platform.
- 在
X-Goog-User-Project
標頭中傳遞已啟用帳單功能的 Google Cloud 專案 ID 或名稱。詳情請參閱「在 Cloud 控制台中完成相關設定」。
以下範例使用 OAuth 權杖呼叫 Places API (新版):
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project:PROJECT_ID " \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \ "https://places.googleapis.com/v1/places:searchText"
疑難排解
如果要求傳回的錯誤訊息指出此 API 不支援使用者憑證,請參閱「使用者憑證無法運作」。