我正在努力连接我的网站以连接到谷歌Adwords,根据我网站上的产品创建广告和营销。我尝试通过发送直接curl请求进行连接并解析收到的SOAP响应。但对于每个请求,这都变得越来越复杂。所以我尝试使用Google Code中提供的PHP客户端库。但是这个例子都没有正常工作。我更改了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帐户的用户名和密码设置正确。
有人可以帮我解决这个问题。
由于
答案 0 :(得分:0)
AUTH_SERVER
设置,而不是DEFAULT_SERVER
,表示身份验证请求的发送位置。这应该位于settings.ini
的底部,但通常会被注释掉,以便使用默认设置https://www.google.com
。您应该检查AUTH_SERVER
是否已注释掉,并且您可以连接到https://www.google.com
。