在任何 Google 服务上调用任何方法()()
熟悉代码以在一项 Google 服务上调用一种方法后,你就可以推断出如何在任何 Google 服务上调用任何方法。 ****
首先,我们使用前一个示例中实例化的 credential
对象建立服务连接:
service = build(
SERVICE_NAME,
SERVICE_VERSION,
credentials=credentials)
然后,我们可以调用服务提供的方法。有哪些方法?
https://cloud.google.com/resource-manager/docs/apis
Projects.Create 的基础 REST 请求是什么?
https://cloud.google.com/resource-manager/reference/rest/v1/projects/create
好的……让我们编写代码。
create
方法需要一个最小化包含项目 ID 的主体。项目 ID 是唯一标识符。我建议你使用系统命名项目以帮助你识别它们。该方法还接受项目名称,标签,项目父母的详细信息等。
operation1 = service.projects().create(
body={
"project_id": PROJECT_ID
}
).execute()
项目创建是异步处理的。我们给出了一个 Operation 对象,我们必须轮询它以确定何时创建 Project。操作具有唯一标识操作的 Name 属性。下一部分代码会调查平台“我们还完成了吗?”。当我们的新操作包含 Done
属性 True
时,将创建该项目。
name = operation1["name"]
while True:
operation2 = service.operations().get(
name=name
).execute()
if "done" in operation2:
if (operation2["done"]):
break
time.sleep(1)
为了完整性,并且希望在很多年后使用你的项目后,你可能需要删除你的项目。我们只需调用 delete 方法并提供项目 ID。这也会返回一个操作但是我会留给你轮询操作直到它完成
operation3 = service.projects().delete(
projectId=PROJECT_ID
).execute()
而已!