在 PHP 中使用 AdWords BatchJob

Posted

技术标签:

【中文标题】在 PHP 中使用 AdWords BatchJob【英文标题】:Using AdWords BatchJob in PHP 【发布时间】:2015-11-06 09:07:43 【问题描述】:

我正在尝试启动并运行新的 BatchJob (https://developers.google.com/adwords/api/docs/guides/batch-jobs),但是缺少一个部分。

文档说:

好消息是您选择的客户端库将具有 为您处理构建和发送请求的实用程序。这 下面的示例使用 Java 客户端中的 BatchJobHelper 实用程序 图书馆。

但是 php 库缺少该 Helper 和任何应该这样做的方法......

任何人都幸运地使用 BatchJob 向 API 发送请求?我在任何地方都找不到任何工作示例。

谢谢!

【问题讨论】:

【参考方案1】:

在实验分支中,他们正在重写 API。 BatchJobHelper 似乎仍然丢失(写这篇文章的当天),see my issue in github requesting it。

要获取 BatchJobs,您应该使用从 adword 服务实例化的 BatchJobService 类。这是一个示例 sn-p:

$batch_job_service = $adWordsServices->get($session, 'BatchJobService', 'v201605', 'cm');

try

    /** @var BatchJobReturnValue $result */
    $result = $batch_job_service->mutate($operations);

catch(ApiException $e)

    echo $e->getMessage() . PHP_EOL;


if(!empty($result) && $result instanceof Google\AdsApi\AdWords\v201605\cm\BatchJobReturnValue)

    $batch_job = reset($result->getValue());

else 

    echo 'Result is empty or no valid';

【讨论】:

【参考方案2】:

如果您使用 composer 加载新的 v201603 版本的 adwords,您还需要调整您的 composer 文件以映射 utils,因为它们由于某种原因在其他版本中重复。不知道他们为什么这样做。您应该能够通过以下路径找到所需的课程。希望这可以帮助。


"require": 
    "googleads/googleads-php-lib": "8.3.0"
 ,
 "autoload": 
     "classmap": [
         "vendor/googleads/googleads-php-lib/src/Google/Api/Ads/AdWords/Util/v201601"
            ]
  

【讨论】:

以上是关于在 PHP 中使用 AdWords BatchJob的主要内容,如果未能解决你的问题,请参考以下文章

Adparams 如何在 Google Adwords PHP api 中工作

如何在 php 中的 Google Adwords API 中设置多个 ClientCustomerId?

Adwords API PHP - 你能暂停广告组吗

无法使 GetRefreshToken.php 与 Adwords API 一起使用

AdWords API 的 AddCampaigns.php 示例返回 internal_failure 错误

Google Adwords API 报告实用程序 - PHP - XML 无效?