如何代表您的客户使用google ads api access

时间:2017-01-11 21:13:54

标签: php google-api google-adwords adwords-apiv201402

我是googleads库中的新手,我正面临着一个问题

我将google adswords api库添加到新的laravel 5.3中。

我使用ini文件拨打电话并检索数据,但是当我尝试代表您的客户端使用访问权限时 this wiki of the library

但它没有工作最后一部分我不明白

  4.  You can now use the OAuth2 object to make calls using the client library.

use Google\AdsApi\AdWords\AdWordsServices;
use Google\AdsApi\AdWords\AdWordsSessionBuilder;
use Google\AdsApi\Common\OAuth2TokenBuilder;

$session = (new AdWordsSessionBuilder())
    ->fromFile()
    ->withOAuth2Credential($oauth2)
    ->build();

$adWordsServices = new AdWordsServices();

$campaignService =
    $adWordsServices->get($session, 'CampaignService', 'v201603', 'cm');

// Make calls using $campaignService.

当我尝试他们给出的示例中的代码时,我会给出错误Undefined variable: oauth2

我尝试将其从会话中的连接文件中放入并在示例文件中检索它但不起作用

还有一个问题:

我将ClientCustomerId代表您的客户端?

谢谢

2 个答案:

答案 0 :(得分:0)

首先,你错过了一小步。您需要OAuth2实例,如教程中所示,

session_start();

$oauth2 = new OAuth2([
    'authorizationUri' => 'https://accounts.google.com/o/oauth2/v2/auth',
    'tokenCredentialUri' => 'https://www.googleapis.com/oauth2/v4/token',
    'redirectUri' => '****',
    'clientId' => '****',
    'clientSecret' => '****',
    'scope' => '****'
]);

ClientCustomerId应放在adsapi_php.ini文件中,您可以在Github找到该文件。

答案 1 :(得分:0)

过了一会儿,我发现了问题的答案:

首先:

  

当我尝试他们给出的示例中的代码时,它给出了错误未定义的变量:oauth2

     

我尝试将其从会话中的连接文件中放入并检索它   示例文件但没有工作

这个问题的答案是在维基中,他们将代码放在一个文件中。所以如果你想把代码工作放在一个文件中。如果你想把它放在其他文件中或者使用一个oauth2来处理几个文件你需要传递它

通过路线请求

或通过中间件

(laravel 5. * $request->attributes->add(['the_name_you_want' => $client]); 您可以通过此代码$client = \Request::get('the_name_you_want')

检索它

第二个问题:

  

我将ClientCustomerId代表您的客户端?

这很容易找到,只需将它放在选择器部分就像这样

$session = (new AdWordsSessionBuilder())
    ->fromFile()
    ->withClientCustomerId('xxx-xxx-xxxx') //change it to what you want
    ->withOAuth2Credential($client)
    ->build();

这是我最后的问题

感谢帮助谁尝试;)