从 App Engine 在云计划中安排任务时设置凭据

Setting credentials when sheduling a task in cloud schedule from App Engine

我正在构建一个要在 App Engine 上托管的 Flask 应用程序。

用户将每周安排一项任务 运行。

因此,我一直在探索如何使用 Python 连接到 Cloud schedule API 并创建计划任务。

docs 中,执​​行此操作似乎需要凭据:

credentials = GoogleCredentials.get_application_default()
service = discovery.build('cloudscheduler', 'v1beta1', credentials=credentials)
# Required.
# The location name. For example:
# `projects/PROJECT_ID/locations/LOCATION_ID`.
parent = 'projects/my-project/locations/my-location'  # TODO: Update placeholder value.

job_body = {
    # TODO: Add desired entries to the request body.
}
request = service.projects().locations().jobs().create(parent=parent, body=job_body)

但是我想知道是否在与 flask / App Engine 应用程序所在的同一 GCP 项目中设置了云计划,您甚至需要凭据才能连接吗?

只要启用云计划API,这还不够吗?

或者,连接到您控制的同一项目中的服务时是否需要其他特定凭据?

当您调用 googleapis.com 下的任何 Google API 时,此调用需要经过身份验证,即使它来自 GCP 产品内部或不。正如您在文档中看到的那样,API 调用可以进行 OAuth 2.0 身份验证,也可以使用 API 密钥进行身份验证。

启用 Cloud Scheduler API 授予您与 Cloud Scheduler 交互的授权,但即使在这之后您也需要通过该服务进行身份验证。长话短说,authorization and authentication.

都需要