如何使用google-api-php-client进行云端DNS管理

时间:2014-10-08 17:11:46

标签: php google-api-php-client google-cloud-dns

我在Google Developer控制台中设置了结算等等,并启用了Cloud DNS APi,但这非常令人困惑,而且文档似乎带我进入了没有真实示例的圈子。

我想了解如何使用来自Github的google-api-php-client脚本来添加DNS条目,删除DNS条目以及更新DNS条目等Google Cloud DNS API的示例。

我也不确定我应该使用哪些凭据,因为似乎没有任何方式来生成凭据 - 只有一个唯一的应用ID(无法更改)这个可计费的服务。

他们的文档指出了有关使用此库的任何问题的stackoverflow。

提前致谢。

1 个答案:

答案 0 :(得分:2)

我没有使用过Cloud DNS,但API似乎遵循其他服务的相同格式,因此我会尝试让您了解它的工作方式。

PHP库的文档不是最好的,但是查看source code和评论,您可以了解应该做什么。

我不确定您之前是否使用过该库,但第一步是创建并验证Google_Client对象。 Github上有一些例子。

您可以在Developers Console创建凭据。选择项目,然后在侧栏上选择API& auth / Credentials。

下面的代码显然只是一个草稿,检查库的源代码也可以看到所有可用的方法和选项。

<?php

// Assuming $client is a Google_Client instance that
// is already authenticated

$dns = new Google_Service_Dns($client);

$change = new Google_Service_Dns_Change();

$addition1 = new Google_Service_Dns_ResourceRecordSet();
// configure $addition1, check the methods on the lib

$deletion1 = new Google_Service_Dns_ResourceRecordSet();
// configure $deletion1, check the methods on the lib

$additions = array($addition1, ..., $additionN);
$deletions = array($deletion1, ..., $deletionN);

$change->setAdditions($additions);
$change->setDeletions($deletions);
// other settings on $change, check the lib

$dns->changes->create($project, $managedZone, $change);