如何告知Google Adwords API我正在查询的MCC中的哪个客户/帐户?

时间:2011-09-01 15:34:37

标签: php google-adwords

使用最新的PHP CLient Library(v2.6.3)我似乎无法在MCC(我的客户中心)帐户中获取客户的所有广告系列。

我可以通过以下方式轻松获取所有帐户:

$user = new AdWordsUser(NULL, $email, $password, $devToken, $applicationToken, $userAgent, NULL, $settingsFile);

$service = $user->GetServicedAccountService();
$selector = new ServicedAccountSelector();
$selector->enablePaging = false;

$graph = $service->get($selector);
$accounts = $graph->accounts; // all accounts!

既然我已经这样做了,我希望获得每个帐户中的所有广告系列。按照文档here运行代码不起作用。

// Get the CampaignService.
// ** Different than example because example calls a private method ** //
$campaignService = $user->GetCampaignService('v201101');

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

// Get all campaigns.
$page = $campaignService->get($selector);

// Display campaigns.
if (isset($page->entries)) {
    foreach ($page->entries as $campaign) {
        print 'Campaign with name "' . $campaign->name . '" and id "'
            . $campaign->id . "\" was found.\n";
    }
}

以上所有代码都会抛出错误:

  

致命错误:未捕获的SoapFault异常:[soap:Server]   QuotaCheckError.INVALID_TOKEN_HEADER @ message = null   stack = com.google.ads.api.authserver.common.AuthException at   com.go;

我觉得这个失败的原因是GetCampaignService需要一个帐户的ID ...但我无法弄清楚如何指定这个id。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

问题最终是因为我得到了错误的developerToken。我不认为INVALID_TOKEN_HEADER真正意味着它所说的内容,因为一些调用仍然使用了错误的令牌。我不知道为什么。