0

私のウェブサイトを Google Adwords に接続して、サイト内の製品に応じて広告やキャンペーンを作成する作業を行っています。curlリクエストを直接送信して接続し、受信したSOAPレスポンスをパースしてみました。しかし、それはリクエストごとに複雑になりすぎています。そこで、Google Code で提供されている PHP クライアント ライブラリを使ってみました。しかし、どの例も正しく機能していません。auth.ini ファイルでユーザー アカウントの詳細を変更しましたが、まだサンプル ファイルを実行しています。

authToken の取得に失敗しました。理由: ホスト'に接続できませんでした。

別のサーバーでスクリプトを実行しようとしましたが、それでも同じエラーが発生します。

以下は、Google アドワーズ広告からすべての広告を取得するためのコードです。これは、クライアント ライブラリのサンプル ファイルです。

$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 アカウントのユーザー名とパスワードが正しく設定されています。

誰かがこの問題を解決するのを手伝ってくれますか?

ありがとう

4

1 に答える 1

0

認証要求の送信先を示すのはAUTH_SERVERではなく、設定です。DEFAULT_SERVERこれは の一番下にあるはずsettings.iniですが、デフォルト設定の が使用されるように通常はコメントアウトされていますhttps://www.google.comAUTH_SERVERがコメントアウトされていること、および に接続できることを確認する必要がありますhttps://www.google.com

于 2011-04-25T10:29:59.343 に答える