我正在尝试获取新的BatchJob(https://developers.google.com/adwords/api/docs/guides/batch-jobs)启动并运行,但缺少一个部分。
文件显示:
好消息是,您选择的客户端库将有为您处理构造和发送请求的实用程序。这个下面的示例使用Java客户端的BatchJobHelper实用程序图书馆
然而,PHP库缺少Helper和任何应该这样做的方法。。。
谁有幸使用BatchJob向API发送请求?我在任何地方都找不到任何可行的例子。
谢谢!
在分支实验中,他们正在重写API。BatchJobHelper似乎仍然缺失(写这篇文章的当天),请参阅我在github中请求它的问题。
对于getBatchJobs,您应该使用BatchJobService类,该类是从广告词服务实例化的。这是一个示例片段:
$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 GoogleAdsApiAdWordsv201605cmBatchJobReturnValue)
{
$batch_job = reset($result->getValue());
}
else
{
echo 'Result is empty or no valid';
}
如果您使用composer加载adwords的新v201603版本,您还需要调整composer文件以映射utils,因为由于某些原因,它们在其他版本中重复。。不知道他们为什么这么做。您应该能够通过以下路径找到所需的类。希望这能有所帮助。
{
"require": {
"googleads/googleads-php-lib": "8.3.0"
},
"autoload": {
"classmap": [
"vendor/googleads/googleads-php-lib/src/Google/Api/Ads/AdWords/Util/v201601"
]
}
}