Integration of googleads/googleads-php-lib
in Laravel and Lumen (version >5).
- Run
$ composer require nikolajlovenhardt/laravel-google-ads
- Add provider to config/app.php
'providers' => [
LaravelGoogleAds\LaravelGoogleAdsProvider::class,
],
- Run
$ php artisan vendor:publish
to publish the configuration fileconfig/google-ads.php
and insert:- developerToken
- clientId & clientSecret
- refreshToken
- Add provider to
bootstrap/app.php
$app->register(LaravelGoogleAds\LaravelGoogleAdsProvider::class);
-
Copy
vendor/nikolajlovenhardt/laravel-google-ads/config/config.php
toconfig/google-ads.php
and insert:- developerToken
- clientId & clientSecret
- refreshToken
-
Add config to
bootstrap/app.php
$app->configure('google-ads');
This requires that the clientId
and clientSecret
is from a native application.
Run $ php artisan googleads:token:generate
and open the authorization url. Grant access to the app, and input the
access token in the console. Copy the refresh token into your configuration config/google-ads.php
The following example is for AdWords, but the general code applies to all products.
<?php
namespace App\Services;
use LaravelGoogleAds\Services\AdWordsService;
use Google\AdsApi\AdWords\AdWordsServices;
use Google\AdsApi\AdWords\AdWordsSessionBuilder;
use Google\AdsApi\AdWords\v201609\cm\CampaignService;
use Google\AdsApi\AdWords\v201609\cm\OrderBy;
use Google\AdsApi\AdWords\v201609\cm\Paging;
use Google\AdsApi\AdWords\v201609\cm\Selector;
class Service
{
/** @var AdWordsService */
protected $adWordsService;
/**
* @param AdWordsService $adWordsService
*/
public function __construct(AdWordsService $adWordsService)
{
$this->adWordsService = $adWordsService;
}
public function campaigns()
{
$customerClientId = 'xxx-xxx-xx';
$campaignService = $this->adWordsService->getService(CampaignService::class, $customerClientId);
// Create selector.
$selector = new Selector();
$selector->setFields(array('Id', 'Name'));
$selector->setOrdering(array(new OrderBy('Name', 'ASCENDING')));
// Create paging controls.
$selector->setPaging(new Paging(0, 100));
// Make the get request.
$page = $campaignService->get($selector);
}
}
See googleads/googleads-php-lib
googleads/googleads-php-lib
hosts the PHP client library for the various SOAP-based Ads APIs (AdWords, AdExchange Buyer, and DFP) at Google.