【问题标题】:How to include adWords in a cakePhp Model to be able to use its classes?如何在 cakePhp 模型中包含 adWords 以便能够使用它的类?
【发布时间】:2018-11-09 07:56:39
【问题描述】:

我正在尝试在 cakePHP 应用程序中使用来自 Google 的 AdWords API。 我需要在我制作的现有模型中的某个时间点搜索关键字。

如果我还没有在我的数据库中获得关键字,我们的想法是获取有关关键字的信息。 但是当我需要使用某些类别的 adWords 时,我会收到此错误:

错误:找不到类“TargetingIdeaSelector”
文件:C:\wamp64\www\projet\app\Model\Keyword.php

行: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 cakephp google-ads-api


    【解决方案1】:

    【讨论】:

    • 您好,谢谢您的回答。我又写了一遍,但我不太明白应该怎么写。我补充说:需要 DIR 。 '/../vendor/autoload.php';使用 googleads_php_lib_14_0_0\src\Google\Api\Ads\AdWords\v201605\TargetingIdeaService 因为我需要 TargetingIdeaSelector 函数,它位于 TargetingIdeaService php 文件中。但它似乎不起作用,我的班级仍然不知道 TargetingIdeaSelector 类。我搜查了您共享的链接,但仍然无法弄清楚。我错过了一步吗?
    猜你喜欢
    • 2017-02-02
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多