Как включить AdWords в модель cakePhp, чтобы иметь возможность использовать ее классы?

Я пытаюсь использовать AdWords API от Google в приложении cakePHP. Мне нужно найти ключевые слова в какой-то момент внутри уже существующей модели, которую я сделал.

Идея состоит в том, чтобы получить информацию о ключевом слове, если я еще не получил его в моей базе данных. Но когда мне нужно использовать некоторые классы AdWords, я получаю такую ​​ошибку:

Error: Class 'TargetingIdeaSelector' not found
File: C:\wamp64\www\projet\app\Model\Keyword.php

Line: 36

Вот представление о коде, который у меня есть:

public function getsuggestions($word, $someData) {

        if (!empty($word) && $word != '') {
            $data = $this->find('all', array(
                'conditions' => array('Keyword.mot_saisi' => $word)
            ));
            if (!empty($data)) { 
                $motcles = split(",",$data['0']['Keyword']['result'],11);
                $motcles['10'] = $word;

                return $motcles;
            }
            else {
                // Create selector.
                $selector = new TargetingIdeaSelector(); //Here is the error
                $selector->requestType = 'IDEAS';
                $selector->ideaType = 'KEYWORD';
                $selector->requestedAttributeTypes = array('KEYWORD_TEXT', 
'SEARCH_VOLUME',
                    'CATEGORY_PRODUCTS_AND_SERVICES');
                // Create language search parameter (optional).
                // The ID can be found in the documentation:
                //   
https://developers.google.com/adwords/api/docs/appendix/languagecodes
                // Note: As of v201302, only a single language parameter is 
allowed.
                $languageParameter = new LanguageSearchParameter();
                $french = new Language();
                $french->id = 1002;
                $languageParameter->languages = array($french);
                // Create related to query search parameter.
                $relatedToQuerySearchParameter = new 
RelatedToQuerySearchParameter();
                $relatedToQuerySearchParameter->setQueries(array($word));
                $selector->searchParameters[] = 
$relatedToQuerySearchParameter;
                $selector->searchParameters[] = $languageParameter;
                // Set selector paging (required by this service).
                $paging = new Paging();
                $paging->setStartIndex(0);
                $paging->setNumberResults(10);
                $selector->setPaging($paging);

                // Make the get request.
                $content = $targetingIdeaService->get($selector);

[...]

Я предполагаю, что классы adWords не включены в мою модель, но как я могу включить весь контент AdWords, чтобы использовать несколько классов в моей модели?

(У меня есть googleads-php-lib прямо внутри моего проекта)

РЕДАКТИРОВАТЬ

Вот точное решение:

require_once __DIR__ . '../../Vendor/autoload.php';
use Google\AdsApi\AdWords\v201710\o\TargetingIdeaSelector;
use Google\AdsApi\AdWords\v201710\o\LanguageSearchParameter;
use Google\AdsApi\AdWords\v201710\o\RelatedToQuerySearchParameter;
use Google\AdsApi\AdWords\v201710\cm\Language;
use Google\AdsApi\AdWords\v201710\cm\Paging;
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
163
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

(I have googleads-php-lib directly inside my project)

Вам нужно указать автозагрузчику, где его найти, и использовать инструкцию use внутри вашего файла.

Привет, спасибо за ответ. Я снова работал над этим, но не могу понять, как мне это написать. Я добавил: требуется DIR. '/../vendor/autoload.php'; используйте googleads_php_lib_14_0_0 \ src \ Google \ Api \ Ads \ AdWords \ v201605 \ ‌ TargetingIdeaService, потому что мне нужна функция TargetingIdeaSelector, которая находится внутри php-файла TargetingIdeaService. Но похоже, что это не работает, класс TargetingIdeaSelector все еще неизвестен моему классу. Я просматриваю ссылки, которыми вы поделились, но все равно не могу понять. Я пропустил шаг?

SnowYou 01.06.2018 10:42

Другие вопросы по теме