在 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?
无法使 GetRefreshToken.php 与 Adwords API 一起使用