【问题标题】:Google AdWords API PHP ReportDefinitionService SelectorGoogle AdWords API PHP ReportDefinitionService 选择器
【发布时间】:2016-03-30 09:55:29
【问题描述】:

我遇到了 ReportDefinitionService 的 Selector 类的问题。该类不存在。这是来自官方google示例的代码:

// 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');

/vendor/googleads/googleads-php-lib/src/Google/Api/Ads/AdWords/v201603/ReportDefinitionService.php 文件中没有选择器定义,而在许多其他服务中定义了此类。

我正在尝试让它在 Laravel 5.1 上运行

如果我将目录 vendor/googleads/googleads-php-lib/src/Google/Api/Ads/AdWords/Util/v201603 添加到我的类图,错误就会消失:

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

但我不确定我是否可以这样做。知道出了什么问题吗?

【问题讨论】:

    标签: php google-api google-ads-api


    【解决方案1】:

    正如this section 中所述,您所做的是正确且符合预期的。 需要手动类映射,因为在src/Google/Api/Ads/AdWords/Util 下的每个版本目录中都声明了一些具有相同名称的类。

    DownloadCriteriaReport 示例中,我认为您已经在此处引入了其中的一些部分,ReportUtils.php 文件包含在第 29 行。 在 ReportUtils 中,当包含 ReportClasses 文件时声明类 Selector。

    希望对您有所帮助。

    塔内特, AdWords API 小组

    【讨论】:

      猜你喜欢
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多