在任何 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()

而已!