Мы столкнулись с проблемой с CampaignCriterionService, получив значение IpAddress для критерия IpBlock.Adwords API CampaignCriterionService IpBlock empty Ошибка IpAddress
https://developers.google.com/adwords/api/docs/reference/v201502/CampaignCriterionService.IpBlock
невозможно получить значение Ipaddress. Если вы используете его в селекторе - вы получаете ошибку [SelectorError.INVALID_FIELD_NAME @ serviceSelector; запуск: 'IpAddress'].
$selector = new Selector();
$selector->fields = array('Id', 'CriteriaType', 'IpAddress');
$selector->predicates[] = new Predicate('CampaignId', 'EQUALS', $campaign->google_id);
$selector->predicates[] = new Predicate('CriteriaType', 'EQUALS', 'IP_BLOCK');
$selector->paging = new Paging(0, AdWordsConstants::RECOMMENDED_PAGE_SIZE);
$page = $campaignCriterionService->get($selector);
После нескольких часов борьбы мы обнаружили, что вы должны использовать «KeywordText» вместо «IpAddress», чтобы получить правильное значение. Это совсем не очевидно. Надеюсь, этот намек сэкономит время и силы. Такие вещи должны быть определенно в документации. Таким образом, рабочий код выглядит следующим образом:
$selector = new Selector();
$selector->fields = array('Id', 'CriteriaType', 'KeywordText');
$selector->predicates[] = new Predicate('CampaignId', 'EQUALS', $campaign->google_id);
$selector->predicates[] = new Predicate('CriteriaType', 'EQUALS', 'IP_BLOCK');
$selector->paging = new Paging(0, AdWordsConstants::RECOMMENDED_PAGE_SIZE);
$page = $campaignCriterionService->get($selector);