Есть скрипт, который авторизуется через OAuth2 и отправляет запросы в Google Analytics с использованием класса Google_Service_Analytics 

Работу приложения можно посмотреть здесь https://www.kl82.com/node/add/report-ga-connector


Нужно точно так же отправлять запрос с использованием класса AnalyticsAdminServiceClient. Это класс из современной библиотеки Google Analytics Data API https://developers.google.com/analytics/devguides/reporting/data/v1?hl=en 


Работающий фрагмент старого кода

$analytics = new Google_Service_Analytics($client);

        $accounts = $analytics->management_accountSummaries->listManagementAccountSummaries();


Не работающий фрагмент кода:

$analytics = new AnalyticsAdminServiceClient([

    'credentials' => Google\ApiCore\CredentialsWrapper::build( [

        'scopes'  => [

            'https://www.googleapis.com/auth/analytics',

            'openid',

            'https://www.googleapis.com/auth/analytics.readonly',

        ],

        'keyFile' => [

            'type'          => 'authorized_user',

'grant_type'   => 'authorized_user',

            'client_id'     => $client->getClientId(),

            'client_secret' => $client->getClientSecret(),

            'refresh_token' => $client->getRefreshToken(),

'access_token' => $client->getAccessToken()["access_token"]

        ],

    ] ),

] );

$accounts = $analytics->listAccounts();

Возвращает ошибку GuzzleHttp\Exception\ClientException: Client error: POST https://oauth2.googleapis.com/token resulted in a 400 Bad Request response: { "error": "unsupported_grant_type", "error_description": "Invalid grant_type: " } in GuzzleHttp\Exception\RequestException::create()

5 месяцев назад
guest_1712826831525
год в сервисе
Была
5 месяцев назад

Заявки фрилансеров

Аркадий
 
24 года
7 лет в сервисе
Был
11 дней назад
47 отзывов
5 месяцев назад