nikolajlovenhardt/laravel-google-ads

此包已被 弃用 并不再维护。作者建议使用 spotonlive/laravel-google-ads 包。

Laravel 的 Google Ads API

1.2.12 2019-04-03 06:54 UTC

README

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

Google Ads API for Laravel

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

设置

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

Laravel

  • (仅适用于 Laravel 5.4 或更低版本) 将提供者添加到 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/spotonlive/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\v201806\cm\CampaignService;
use Google\AdsApi\AdWords\v201806\cm\OrderBy;
use Google\AdsApi\AdWords\v201806\cm\Paging;
use Google\AdsApi\AdWords\v201806\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 的 Ads API(AdWords、AdExchange Buyer 和 DFP)的 PHP 客户端库。

致谢