Службы Google Cloud DNS — параметр entity.change обязателен, но отсутствует

С помощью следующего кода с использованием Google API PHP Client я получаю этот ответ.

Google_Service_Exception с сообщением «Ошибка вызова POST https://www.googleapis.com/dns/v1/projects/PROJECT-NAME/managedZones/DNSZONE/changes: (400) Параметр entity.change является обязательным, но отсутствует.

Где PROJECT-NAME и DNSZONE — это мой проект и зона.

$client_email = MYCLIENT;
$private_key = file_get_contents('config/credentials/KEY.p12');
$scopes = array('https://www.googleapis.com/auth/ndev.clouddns.readwrite');
$project = "PROJECT-NAME";
$managedZone = "DNSZONE";

$creds = new Google_Auth_AssertionCredentials($client_email,$scopes,$private_key);
$client = new Google_Client();
$client->setAssertionCredentials($creds);

$resource = new Google_Service_Dns_ResourceRecordSet();
$resource->kind = "dns#resourceRecordSet";
$resource->name = "testing.DNSZONE.net.";
$resource->rrdatas[] = "testing.otherhost.com.";
$resource->ttl = 800;
$resource->type = "CNAME";

$dns = new Google_Service_Dns($client);
$change = new Google_Service_Dns_Change();
$change->kind = "dns#change";
$change->setAdditions($resource);

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

Я немного запутался относительно того, как установить этот параметр. Или где я даже должен это определить.

2

Решение

Просто, чтобы уточнить ответ, setAdditions ожидает массив.

$change->setAdditions([ $resource ]);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]