在任何 Google 服務上呼叫任何方法()()

熟悉程式碼以在一項 Google 服務上呼叫一種方法後,你就可以推斷出如何在任何 Google 服務上呼叫任何方法。 **

首先,我們使用前一個示例中例項化的 credential 物件建立服務連線:

CloudResourceManagerService service = new CloudResourceManagerService(
    new BaseClientService.Initializer()
    {
        HttpClientInitializer = credential,
        ApplicationName = "Our First Google API Client"
    }
);

然後我們可以呼叫服務提供的方法。有哪些方法?

https://cloud.google.com/resource-manager/docs/apis

Projects.Create 的基本 REST 請求是什麼?

https://cloud.google.com/resource-manager/reference/rest/v1/projects/create

好的……讓我們編寫程式碼。

程式碼需要 projectId 的字串值。專案 ID 是唯一識別符號。我建議你使用系統命名專案以幫助你識別它們。

Projects.Create 期待一個 Data.Project 物件。這個物件是一個強制性屬性,我們將提供的專案 ID,但我們也可以提供專案名稱,標籤,專案的父項等詳細資訊。

Data.Operation operation1 = service.Projects.Create(
    new Data.Project()
    {
        ProjectId = projectId,
    }
).Execute();

專案建立是非同步處理的。我們得到一個 Operation 物件,我們必須輪詢它以確定何時建立專案。操作具有唯一標識操作的 Name 屬性。下一部分程式碼會調查平臺“我們還完成了嗎?”。當我們的新業務包括 Done 屬性 True 時,將建立該專案。

Data.Operation operation2;
do
{
    operation2 = service.Operations.Get(operation1.Name).Execute();
    System.Threading.Thread.Sleep(1000);
} while (operation2.Done != true);

為了完整性,並且希望在很多年後使用你的專案後,你可能需要刪除你的專案。我們只需呼叫 Projects.Delete 並提供我們的專案 ID。這也會返回一個操作,我們應該真正輪詢這個操作,直到它最終完成。然後我們的專案將被刪除。

var operation3 = service.Projects.Delete(projectId).Execute();

而已!