Подключиться к Google AdSense API через PHP

Я пытаюсь подключиться к AdSense API с помощью PHP-скрипта. Я начал использовать этот учебник от Google: https://developers.google.com/api-client-library/php/start/get_started#build-the-client-object

Однако мне не удалось подключиться. Это то, что я пробовал:

$client = new Google_Client();
$client->setApplicationName("AppName");
$client->setDeveloperKey(API_Key);
$client->setAuthConfigFile('../AdSense/google-api-php-client/client_secret.json');

$service = new Google_Service_AdSenseTest($client);
$results = $service->testReportsGenerate();

foreach($results as $item)
{
    echo $item;
}

И я столкнулся с несколькими проблемами, главная из которых заключается в том, что код не распознает класс «Google_Service_AdSenseTest», хотя код предлагал это. Итак, мой реальный вопрос заключается в следующем: какую службу мне следует использовать, если я хочу получить данные из AdSense? И как задать нужные параметры (имеется в виду — какие измерения и метрики получить)?

Спасибо.


person Bramat    schedule 24.04.2016    source источник


Ответы (2)


Вам необходимо реализовать запросы OAuth, как вы это делаете для каждого отдельного API Google (используйте протокол Фила Стерджена OAuth2.0, если вы используете codeigniter, хорошо реализованный). Или любые клиентские сценарии oauth2 будут делать.

Библиотека Google API находится здесь: https://github.com/googleapis/google-api-php-client-services. Используйте composer для установки этих библиотек.

Класс AdSense находится здесь: https://github.com/googleapis/google-api-php-client-services/blob/master/src/Google/Service/AdSense.php

Класс/функция, которая отправляет запрос в Google, должна настроить клиент oauth и указать URL-адрес перенаправления (который, в свою очередь, должен быть зарегистрирован в консоли Google API).

Области действия:
../auth/adsense ../auth/adsense.readonly

После того, как все будет сделано, вы можете сделать запрос.

Я реализовал это с помощью Codeigniter для searchconsole, adsense и других полезных библиотек, все они отлично работают. Кроме того, я также подключил гугл-листы, поэтому каждый отчет доступен мне в гугл-листе по мере необходимости.

С токеном доступа oAuth код:

$client = new Google_Client();
$adsenseService = new Google_Service_AdSense(...);
$client->setApplicationName("Adsense Console");
                        $client->setDeveloperKey($apiKey);
                        $client->setAccessToken( $token->access_token );

$params = array('maxResults' => 1000, 'pageToken' => null, 'alt' => 'json', 'fields' => array(), 'prettyPrint' => true, 'quotaUser' => '', 'userIp' => '' );

$accounts = $adsenseService->accounts->listAccounts($params);
//this will print a json array 
echo '<pre>' ; print_r($accounts); echo '<pre>'; die();

для постоянных клиентов,

$adsense->adclients->listAccountsAdclients($params);

Ссылка на параметры находится здесь, https://developers.google.com/adsense/management/v1.4/reference/accounts/adclients/list#try-it

person Cosmo Arun    schedule 20.03.2019

вы можете попробовать пример из https://github.com/googleads/googleads-adsense-examples/tree/master/php-clientlib-1.x/v1.x

Дополнительные сведения см. на странице https://developers.google.com/adsense/management/getting_started.

person Dean Lukies    schedule 18.05.2016