spotonlive/laravel-google-ads

Laravel的Google Ads API

2.1 2022-04-08 08:29 UTC

README

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

Laravel的Google Ads API

在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客户端库。

致谢