在任何 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();
而已!