2015-11-06 35 views
1

我試圖讓新的BatchJob(https://developers.google.com/adwords/api/docs/guides/batch-jobs)啓動並運行,但缺少一個部分。在PHP中使用AdWords BatchJob

文件說:

的好消息是,你選擇的客戶端庫將有一個 工具,處理構造併發送你的請求。以下示例中的 使用來自Java客戶端 庫的BatchJobHelper實用程序。

但是PHP庫缺少助手,並應做...

人有任何運氣發送請求使用BatchJob API的任何方法?我找不到任何有效的例子。

謝謝!

回答

1

在分支實驗中,他們正在重寫API。看起來BatchJobHelper仍在丟失(當前寫這篇文章),see my issue in github requesting it

對於獲得BatchJobs,您應該使用BatchJobService類,該類是從adword服務實例化的。這是一個示例代碼片段:

$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'; 
} 
1

如果您使用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" 
      ] 
    } 
}