存取 Admin API

Google Cloud Platform 專案擁有者必須先在專案中啟用 API,接著建立使用者或應用程式可用來授權 HTTP 要求的憑證,使用者或應用程式才能使用 Google App Engine Admin API。

例如,擁有者必須先建立初始 GCP 專案,接著在專案中建立憑證,這樣其他使用者才能將 HTTP 要求傳送至 Admin API。擁有者完成初始專案的設定後,專案就能用於管理用途,透過程式建立和管理其他資源,例如:

  • 建立其他 GCP 專案。
  • 為所有新建立的專案建立 App Engine 應用程式。
  • 將應用程式版本部署至新建立的 App Engine 應用程式。
  • 管理您部署的所有版本資源。

事前準備

如要完成下列工作,您必須是 GCP 專案擁有者,而且會在專案中啟用 Admin API,以便使用者和應用程式存取。

設定專案並建立憑證

如何設定 GCP 專案並建立憑證:

  1. 在 GCP 專案中啟用 Google App Engine Admin API 和 Cloud Storage API:

    啟用這兩個 API

  2. 建立憑證,以便使用者和應用程式存取專案的 Admin API。

    如要建立憑證,請參閱 Google Cloud Platform 驗證指南,接著選擇符合您應用程式需求的 OAuth 2.0 授權流程。

示例

為了示範驗證流程,以下示例將透過用戶端 OAuth 2.0 流程取得憑證。此憑證使用 cURL 指令列工具,授權向 Admin API 發出的要求,藉此將範例應用程式部署至專案 [MY_PROJECT_ID] 的 App Engine 應用程式。

驗證示例

在本示例中,用戶端授權流程稱為「隱含授予流程」(implicit grant flow),會要求使用者授權用戶端應用程式,讓該應用程式能代表使用者存取 Admin API。傳回的存取憑證有效期限約為 60 分鐘,或是通常在使用者於應用程式中處於活躍狀態時有效。

提示:如要進一步瞭解隱含授予流程,以及如何建立下列網址,請參閱針對用戶端網頁應用程式使用 OAuth 2.0

HTTP 要求

下列網址會使用在 Google Cloud Platform 主控台中建立的用戶端 ID 來要求存取憑證,接著將使用者重新導向至已授權的 URI (您的應用程式透過此 URI 接收憑證):

https://accounts.google.com/o/oauth2/v2/auth?
  response_type=token&
  client_id=[MY_CLIENT_ID].apps.googleusercontent.com&
  scope=https://www.googleapis.com/auth/cloud-platform&
  redirect_uri=[MY_REDIRECT_URI]

在上面的網址中:

  • [MY_CLIENT_ID]GCP 主控台中其中一個憑證的用戶端 ID
  • [MY_REDIRECT_URI]GCP 主控台中相同憑證的對應已授權重新導向 URI。如未指定重新導向 URI,您必須指定可信任的 URI,例如 https://www.google.com。重新導向 URI 會定義傳送 HTTP 回應的目的地。對於實際工作環境,您必須指定應用程式的驗證端點,由該端點處理 OAuth 2.0 伺服器發出的回應。詳情請參閱針對網路伺服器應用程式使用 OAuth 2.0 一文。

HTTP 回應

當應用程式使用網址來要求取得授權時,回應會傳回存取憑證,例如:

https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
  token_type=Bearer&
  expires_in=3600

在上面的網址中,[MY_ACCESS_TOKEN] 是您要求傳回的存取憑證。

取得存取憑證後,您可以使用該憑證存取 Admin API。例如,應用程式的驗證端點可透過程式從回應中擷取存取憑證。如需瞭解如何在 cURL 指令中手動使用憑證,請參閱下列示例。

使用 cURL 的 HTTP 要求示例

下列 cURL 指令將示範如何使用 [MY_ACCESS_TOKEN] 存取憑證發出 HTTP POST 要求。此 cURL 指令會將 app.json 設定檔定義的資源部署至專案 MY_PROJECT_ID 中應用程式 default 服務的版本 v1

curl -X POST -T "app.json" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/services/default/versions

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
App Engine Admin API