Мы столкнулись с проблемой в Bing Ads API версий 9 и 10.
Мы используем ConstructWithAccountAndCustomerId()
метод ClientProxy class
, предоставляя действительный DeveloperToken, AccountId, а также AuthenticationToken (OAuth), вот так:
$proxy = ClientProxy::ConstructWithAccountAndCustomerId($wsdl, null, null, $DeveloperToken, $AccountId, null, $AuthenticationToken);
Наша цель — получить и перечислить все кампании для учетной записи. Однако при запуске:
print_r($proxy->GetService()->GetCampaignsByAccountId($AccountId));
…мы столкнулись с этой ошибкой:
[Code] => 1102
[Details] => AccountId is invalid
[ErrorCode] => CampaignServiceInvalidAccountId
[Message] => The account ID is invalid.
Теперь мы дважды и трижды проверили правильность AccountID (https://msdn.microsoft.com/en-US/library/bing-ads-getting-started.aspx#accountcustomerid).
Мы также попробовали это как с Bing Ads API v9, так и с Bing Ads API v10, а также с Bing Ads SDK Api от CPCStrategy — нигде не играли в кости
Есть идеи о том, чего нам не хватает?
Спасибо
Проблема и решение были смехотворно просты: GetCampaignsByAccountId Сервисная операция требует специального объект запроса, Идентификатор аккаунта само по себе не достаточно
$request = new GetCampaignsByAccountIdRequest();
$request->AccountId = $AccountId;
$request->CampaignType = CampaignType::SearchAndContent;
С этим определенным объектом и затем подайте к GetCampaignsByAccountId Сервисная операция, все кампании аккаунта успешно возвращены:
print_r($proxy->GetService()->GetCampaignsByAccountId($request));
Других решений пока нет …