使用最新的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。
我做错了什么?
答案 0 :(得分:2)
问题最终是因为我得到了错误的developerToken。我不认为INVALID_TOKEN_HEADER
真正意味着它所说的内容,因为一些调用仍然使用了错误的令牌。我不知道为什么。