Google アドワーズ - クライアント センターを初めて使用します。Yii フレームワークを使用して、すべての MCC キャンペーン、広告グループ、広告などを表示する Web サイトを持っています。正常に動作しています。
私の問題は、クライアント センターの電子メール、パスワード、またはクライアント ID が無効な場合、以下のコードのようなエラーが表示されることです。
Failed to get authToken. Reason: BadAuthentication
$response = $this->Login();
095 $fields = $this->ParseResponse($response);
096 if (array_key_exists('Error', $fields)) {
097 $error = $fields['Error'];
098 if (array_key_exists('Info', $fields)) {
099 $error .= ': ' . $fields['Info'];
100 }
101 $url = array_key_exists('Url', $fields) ? $fields['Url'] : NULL;
102 $captchaToken = array_key_exists('CaptchaToken', $fields) ?
103 $fields['CaptchaToken'] : NULL;
104 $captchaUrl = array_key_exists('CaptchaUrl', $fields) ?
105 $fields['CaptchaUrl'] : NULL;
106 throw new AuthTokenException($error, $url, $captchaToken, $captchaUrl);
107 } else if (!array_key_exists('Auth', $fields)) {
108 throw new AuthTokenException('Unknown');
109 } else {
110 return $fields['Auth'];
111 }
112 }
113
114 /**
115 * Makes the client login request and stores the result.
116 * @return string the response from the ClientLogin API
117 * @throws AuthTokenException if an error occurs during authentication
118 */
しかし、「あなたのアカウントは無効です」というエラーを表示したい。アカウントが有効であることを確認するための条件をどこに書けばよいか教えてください。
私はこれについてあまり考えていません。Google Adwords API クライアント ライブラリを検索したところ、次の「http://code.google.com/p/google-api-adwords-php/downloads/list」が見つかりました。その後、aw_api_php_lib_3.2.2.tar.gz をダウンロードし、そのコードを「mysite/protected/」フォルダーに配置します。そして、「mysite/protected/adwords/src/Google/Api/Ads/AdWords/auth.ini」ファイルの構成を変更しました。
ビュー ファイル [mysite/protected/views/site/view.php] で、Adwords 関数を次のように呼び出しました。
Yii::import('application.adwords.*');
require_once('examples/v201206/BasicOperations/GetCampaigns.php')
$user = new AdWordsUser();
$user->LogAll();
$result_camp = GetCampaignsExample($user);
すべてのキャンペーンを返します。しかし、間違った構成の詳細を提供した場合、上記のエラー [Failed to get authToken. 理由: 不正な認証]。指定した形式でエラーを表示したい。ご意見をお聞かせください。