Я установил биллинг и все такое в консоли Google Developer и включил Cloud DNS APi, однако это очень запутанно, и документация, кажется, сводит меня с ума без реальных примеров.
Я хотел бы получить пример использования DNS-API Google Cloud с помощью сценария google-api-php-client из Github для добавления записи DNS, удаления записи DNS и обновления записи DNS.
Я также не уверен относительно того, какие учетные данные я должен использовать для этого, поскольку, похоже, нет никакого способа для создания учетных данных — только уникальный идентификатор приложения (который нельзя изменить) для этой оплачиваемой услуги.
Их документация указывает на stackoverflow для любых вопросов, касающихся использования этой библиотеки.
Заранее спасибо.
Я не использовал Cloud DNS, но API, похоже, придерживается того же формата, что и другие сервисы, поэтому я постараюсь дать вам представление о том, как это может работать.
Документация для библиотеки PHP не самая лучшая, но, глядя на исходный код и комментарии, вы можете понять, что должно быть сделано.
Я не уверен, что вы использовали библиотеку раньше, но первым шагом является создание и аутентификация Google_Client
объект. Есть примеры на Github.
Вы создаете учетные данные на Консоль разработчиков. Выберите проект, а затем на боковой панели выберите 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);
Других решений пока нет …