作为 Google Cloud 项目所有者,您必须先在项目中启用 App Engine Admin API,然后创建用户或应用可用于授权 HTTP 请求的凭据,这样用户或应用才能使用该 API。
例如,所有者必须先创建初始 Google Cloud 项目,然后在该项目中创建凭据,然后其他用户才能向 Admin API 发送 HTTP 请求。在所有者设置并配置初始项目后,该项目可用于管理目的,可以通过编程方式创建和管理其他资源,例如:
- 创建其他 Google Cloud 项目。
- 为所有新建项目创建 App Engine 应用。
- 将应用版本部署到新建的 App Engine 应用。
- 管理您部署的所有版本中的资源。
准备工作
要完成以下任务,您必须是要在其中为用户和应用启用 Admin API 的 Google Cloud 项目的所有者。
配置项目并创建凭据
要配置 Google Cloud 项目并创建凭据,请执行以下操作:
在 Google Cloud 项目中启用 App Engine Admin API 和 Cloud Storage API:
创建用户和应用用于访问项目中的 Admin API 的凭据。
要创建凭据,请查看 Google Cloud Platform 身份验证指南,然后选择符合应用要求的 OAuth 2.0 授权流程。
示例
为了演示身份验证流程,以下示例使用客户端 OAuth 2.0 流程来获取令牌。该令牌用于通过 cURL 命令行工具授权对 Admin API 的请求,从而将示例应用部署到项目 [MY_PROJECT_ID]
的 App Engine 应用。
身份验证示例
在本例中,客户端授权流程(称为隐式授权流程)要求用户授权客户端应用,使其能够代表用户访问 Admin API。返回的访问令牌有效期约 60 分钟,或者通常在用户于您的应用中处于活动状态时有效。
HTTP 请求
以下网址使用在 Google Cloud Console 中创建的客户端 ID 来请求访问令牌,然后将用户重定向到应用接收令牌的已获授权的 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]
是 Google Cloud 控制台中某个凭据的客户端 ID。[MY_REDIRECT_URI]
是 Google Cloud 控制台中同一凭据对应的已获授权的重定向 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
的应用中的 v1
版 default
服务。
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