cpcstrategy / capx-google-ads

基于 nikolajlovenhardt/laravel-google-ads 的 Laravel Google Ads API 分支

1.0.0 2017-02-24 13:03 UTC

README

Laravel 5.1+ Lumen 5.1+ Total Downloads License Build Status Code Climate Test Coverage

Laravel Google Ads API

googleads/googleads-php-lib 集成到 Laravel 和 Lumen(版本 >5)。

设置

  • 运行 $ composer require nikolajlovenhardt/laravel-google-ads

Laravel

  • 将提供者添加到 config/app.php
'providers' => [
    LaravelGoogleAds\LaravelGoogleAdsProvider::class,
],
  • 运行 $ php artisan vendor:publish 以发布配置文件 config/google-ads.php 并插入
    • developerToken
    • clientId & clientSecret
    • refreshToken

Lumen

  • 将提供者添加到 bootstrap/app.php
$app->register(LaravelGoogleAds\LaravelGoogleAdsProvider::class);
  • vendor/nikolajlovenhardt/laravel-google-ads/config/config.php 复制到 config/google-ads.php 并插入

    • developerToken
    • clientId & clientSecret
    • refreshToken
  • 将配置添加到 bootstrap/app.php

$app->configure('google-ads');

生成刷新令牌

这需要 clientIdclientSecret 来自原生应用程序。

运行 $ php artisan googleads:token:generate 并打开授权 URL。授权应用,并在控制台中输入访问令牌。将刷新令牌复制到您的配置 config/google-ads.php

基本用法

以下示例针对 AdWords,但通用代码适用于所有产品。

<?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);
    }
}

最佳实践

功能、要求、支持等。

googleads/googleads-php-lib

依赖关系

  • googleads/googleads-php-lib 在 Google 上托管了各种基于 SOAP 的广告 API(AdWords、AdExchange Buyer 和 DFP)的 PHP 客户端库。