Клиентская библиотека Google Adword PHP не смогла подключиться к хосту - PullRequest
0 голосов
/ 25 апреля 2011

Я работаю над подключением моего веб-сайта для подключения к Google Adwords, чтобы создавать объявления и кампании в зависимости от продуктов на моем сайте.Я попытался подключиться, отправив запрос прямого скручивания и проанализировав полученный ответ SOAP.Но это становится слишком сложным для каждого запроса.Поэтому я попытался использовать клиентскую библиотеку PHP, предоставленную в Google Code.Но ни один из примеров не работает правильно.Я изменил данные учетной записи пользователя в файле auth.ini, но по-прежнему при исключении файлов примеров он говорит:

Не удалось получить authToken.Причина: не удалось подключиться к хосту '.

Я пытался запустить сценарии на разных серверах, но все равно получала ту же ошибку.

Ниже приведен код для извлечения всех объявлений из Google AdWords, и это пример файла из клиентской библиотеки

$path = dirname(__FILE__) . '/../../src';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);

require_once 'Google/Api/Ads/AdWords/Lib/AdWordsUser.php';

try {
  // Get AdWordsUser from credentials in "../auth.ini"
  // relative to the AdWordsUser.php file's directory.
  $user = new AdWordsUser();

  // Log SOAP XML request and response.
  $user->LogDefaults();

  // Get the AdGroupAdService.
  $adGroupAdService = $user->GetAdGroupAdService();

  $adGroupId = (float) '01';

  // Create selector.
  $selector = new Selector();
  $selector->fields = array('Id', 'AdGroupId', 'Status');
  $selector->ordering = array(new OrderBy('Id', 'ASCENDING'));

  // Create predicates.
  $adGroupIdPredicate = new Predicate('AdGroupId', 'IN', array($adGroupId));
  // By default disabled ads aren't returned by the selector. To return them
  // include the DISABLED status in a predicate.
  $statusPredicate =
      new Predicate('Status', 'IN', array('ENABLED', 'PAUSED', 'DISABLED'));
  $selector->predicates = array($adGroupIdPredicate, $statusPredicate);

  // Get all ads.
  $page = $adGroupAdService->get($selector);

  // Display ads.
  if (isset($page->entries)) {
    foreach ($page->entries as $adGroupAd) {
      printf("Ad with id '%s', type '%s', and status '%s' was found.\n",
          $adGroupAd->ad->id, $adGroupAd->ad->AdType, $adGroupAd->status);
    }
  } else {
    print "No ads were found.\n";
  }
} catch (Exception $e) {
    echo 'Inside catch exception';
  print $e->getMessage();
}

и в файле settings.ini

DEFAULT_SERVER = "https://adwords -sandbox.google.com"

; AUTH_SERVER = "<SERVER>"

В файле auth.ini имя пользователя и пароль моей учетной записи Google установлены правильно.

Может кто-нибудь помочь мне решить эту проблему.

Спасибо

1 Ответ

0 голосов
/ 25 апреля 2011

Это настройка AUTH_SERVER, а не DEFAULT_SERVER, которая указывает, куда отправляются запросы на аутентификацию.Это должно быть в нижней части settings.ini, но обычно закомментировано, так что используется настройка по умолчанию https://www.google.com.Вы должны проверить, что AUTH_SERVER закомментировано и что вы можете подключиться к https://www.google.com.

...