2014-10-08 2 views
0

Я настраиваю биллинг и еще что-то в консоли разработчика Google, и включил облачный DNS APi, однако это очень запутанно, и документация, кажется, ведет меня кругами без реальных примеров.Как использовать google-api-php-клиент для управления облачным DNS

Я хотел бы привести пример использования Google Cloud DNS API с помощью скрипта google-api-php-client из Github для добавления записи DNS, удаления записи DNS и обновления записи DNS.

Я также не уверен, какие полномочия я должен использовать для этого, поскольку, похоже, не существует способа генерировать учетные данные - только уникальный идентификатор приложения (который не может быть изменен) для этого оплачиваемого оказание услуг.

В их документации указывается на stackoverflow по любым вопросам, касающимся использования этой библиотеки.

Заранее спасибо.

ответ

2

Я не использовал Cloud DNS, но API, похоже, придерживается того же формата других сервисов, поэтому я попытаюсь дать вам представление о том, как он может работать.

Документация для библиотеки PHP не самая лучшая, но, глядя на source code и комментарии, вы можете понять, что нужно делать.

Я не уверен, что вы использовали библиотеку раньше, но первым шагом является создание и аутентификация объекта Google_Client. На Гитубе есть примеры.

Вы создаете учетные данные на 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); 
+1

Я ищу простой список вызовов - aka $ dns-> AddDomain ($ domain); $ dns-> CreateARecord ($ domain, $ ip); $ dns-> CreateMXRecord ($ domain, $ host, $ priotity); и т. д. Их документация ужасна, и чтение тысяч строк кода для поиска конкретных вызовов функций путем угадывания ---- должно быть лучшим способом. –

+1

Это ДЕЙСТВИТЕЛЬНО было полезно. Я посмотрел на этот пример и отредактировал свой код безрезультатно, пока не понял, что setAdditions принимает один файл Google_Service_Dns_ResourceRecordSet, но должен был потребовать, чтобы я его обернул в массив - с самым бесполезным сообщением об ошибке «Требуется параметр« entity.change » но пропал без вести ». после упаковки моих дополнений в массив все это получилось! –

+0

Привет @ josh.chavanne, можете ли вы поделиться этим массивом. Я также сталкиваюсь с той же проблемой. Не удалось отладить то же самое. – Sreenath

Смежные вопросы