Places Insights API 支援使用 OAuth 2.0 進行驗證。Google 也支援常見的 OAuth 2.0 使用情境,例如網路伺服器應用程式。
本文說明如何在開發環境中,將 OAuth 權杖傳遞至 Places Insights API 呼叫。如要瞭解如何在實際作業環境中使用 OAuth,請參閱「Google 的驗證」一文。
事前準備
您需要擁有具備帳單帳戶的專案,並啟用 Places Insights API,才能開始使用 Places Insights API。建議您建立多個專案擁有者和帳單管理員,這樣您的團隊隨時都有擔任這些角色的成員可處理相關事務。請參閱這篇文章,進一步瞭解如何在 Cloud 控制台中完成相關設定。
關於 OAuth
您可以透過 OAuth 建立及管理存取權杖,具體方法取決於部署環境。
舉例來說,Google OAuth 2.0 系統支援伺服器對伺服器的互動行為,例如應用程式和 Google 服務之間的互動。在這種情況下,您需要服務帳戶,這是屬於應用程式,而非個別使用者的帳戶。應用程式會代表服務帳戶呼叫 Google API,因此使用者不會直接參與其中。如要進一步瞭解驗證方法,請參閱「Google 的驗證」。
或者,您也可以將 Places Insights API 用於 Android 或 iOS 行動應用程式。如要進一步瞭解如何搭配使用 OAuth 和 Places Insights API,包括如何管理不同部署環境的存取權杖,請參閱「使用 OAuth 2.0 存取 Google API」一文。
關於 OAuth 範圍
如要將 OAuth 與 Places Insights API 搭配使用,必須為 OAuth 權杖指派範圍:
https://www.googleapis.com/auth/cloud-platform
範例:在本機開發環境中嘗試 REST API 呼叫
如果您想使用 OAuth 權杖試用 Places Insights API,但沒有設定環境來產生權杖,可以使用本節的程序進行呼叫。
本範例說明如何使用應用程式預設憑證 (ADC) 提供的 OAuth 權杖來發出呼叫。如要瞭解如何使用 ADC 透過用戶端程式庫呼叫 Google API,請參閱「使用用戶端程式庫進行驗證」。
必要條件
您必須先使用 Google Cloud CLI 為 ADC 提供憑證,才能使用 ADC 提出 REST 要求:
- 如果您尚未建立專案,請按照「在 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 Insights API:
curl -X POST 'https://areainsights.googleapis.com/v1:computeInsights' \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \ -H "Authorization: Bearer $TOKEN" \ --data '{ "insights":[ "INSIGHT_COUNT" ], "filter":{ "location_filter":{ "region":{ "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo" } }, "type_filter":{ "included_types":[ "restaurant" ] }, "price_levels":[ "PRICE_LEVEL_INEXPENSIVE" ] } }'
疑難排解
如果要求傳回的錯誤訊息指出此 API 不支援使用者憑證,請參閱「使用者憑證無法運作」。