2016-03-30 2 views
0

У меня возникла проблема с классом Selector ReportDefinitionService. Класс не существует. Вот код из примера официального Google:Google AdWords API PHP ReportDefinitionService Selector

// Load the service, so that the required classes are available. 
$user->LoadService('ReportDefinitionService', 'v201603'); 
// Optional: Set clientCustomerId to get reports of your child accounts 
// $user->SetClientCustomerId('INSERT_CLIENT_CUSTOMER_ID_HERE'); 

// Create selector. 
$selector = new Selector(); //The error happens here. Class 'Selector' isn't found 
$selector->fields = array('CampaignId', 'AdGroupId', 'Id', 'Criteria','CriteriaType', 'Impressions', 'Clicks', 'Cost'); 

Там нет определения выбора в файле/поставщика/googleads/googleads-PHP Пб/SRC/Google/Api/Объявления/AdWords/v201603/ReportDefinitionService. php, тогда как этот класс определяется во многих других сервисах.

Я пытаюсь заставить его работать на Laravel 5.1

ошибка уходит, если я добавляю поставщика каталог/googleads/googleads-PHP-Lib/SRC/Google/API/Реклама/AdWords/UTIL/v201603 к моему классу:

"autoload": { 
"classmap": [ 
    ... 
    "vendor/googleads/googleads-php-lib/src/Google/Api/Ads/AdWords/Util/v201603" 
], 
... 

Но я не уверен, смогу ли я это сделать. Любая идея, что происходит не так?

ответ

1

Что вы сделали правильно и ожидали, как указано в this section. Ручная классная карта необходима, так как в каждом каталоге версий есть src/Google/Api/Ads/AdWords/Util, некоторые классы, объявленные с одинаковыми именами.

В DownloadCriteriaReport примере, который я думаю, что вы принесли некоторые части, что здесь, файл ReportUtils.php включен в строке 29. В ReportUtils, класс Selector объявляется, когда файл ReportClasses включен.

Надеюсь, что эта помощь.

Thanet, AdWords API Team

+0

А я пропустил, спасибо человеку! – Sergey

Смежные вопросы