Неустранимая ошибка: Class 'Google_Auth_AssertionCredentials' не найден

Я пытаюсь перенести старый google api на новый, поэтому я могу получить данные аналитики Google. Я пытаюсь с этим примером, но он вызывает эту ошибку

Неустранимая ошибка: Class 'Google_Auth_AssertionCredentials' не найден в example.php

Вот как я пытаюсь:

ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); require_once 'google-api-php-client/vendor/autoload.php'; //$p12FilePath = '/path/to/key.p12'; $serviceClientId = '395545742105.apps.googleusercontent.com'; $serviceAccountName = '395545742105@developer.gserviceaccount.com'; $scopes = array( 'https://www.googleapis.com/auth/analytics.readonly' ); $googleAssertionCredentials = new Google_Auth_AssertionCredentials( $serviceAccountName, $scopes ); // <- Fatal error here $client = new Google_Client(); $client->setAssertionCredentials($googleAssertionCredentials); $client->setClientId($serviceClientId); $client->setApplicationName("Project"); $analytics = new Google_Service_Analytics($client); 

И я выполнил поиск Google_Auth_AssertionCredentials в библиотеке, которую я загружаю отсюда , и только один результат: upagrading.md

Google_Auth_AssertionCredentials removed use Google_Client::setAuthConfig instead ,

Но как я должен использовать его в контрукторе?

Я тред

 $googleAssertionCredentials = new Google_Client::setAuthConfig( $serviceAccountName, $scopes ); 

С внутренней ошибкой сервера,

Любая идея, что мне здесь не хватает?

Related of "Неустранимая ошибка: Class 'Google_Auth_AssertionCredentials' не найден"

Похоже, у вас есть смесь старого и нового ( Google PHP API Client 2.0 ) синтаксиса. Вместо этого сообщение «использовать Google_Client :: setAuthConfig» предназначено для указания используемого метода, но не для того, чтобы его нужно было называть статически.

Он должен выглядеть так:

 $client = new Google_Client(); // set the scope(s) that will be used $client->setScopes(array('https://www.googleapis.com/auth/analytics.readonly')); // this is needed only if you need to perform // domain-wide admin actions, and this must be // an admin account on the domain; it is not // necessary in your example but provided for others $client->setSubject('youradmin@example.com'); // set the authorization configuration using the 2.0 style $client->setAuthConfig(array( 'type' => 'service_account', 'client_email' => '395545742105@developer.gserviceaccount.com', 'client_id' => '395545742105.apps.googleusercontent.com', 'private_key' => 'yourkey' )); $analyticsService = new Google_Service_Analytics($client); 

Этот синтаксис работает для меня с текущей сборкой на момент написания этой статьи, которая представляет собой 2.0.0-RC2 .

Это решение работает для меня:

В разделе настройки композитора в https://github.com/google/google-api-php-client/blob/master/README.md могут упоминаться обе версии, например:

композитор требует google / apiclient: ^2.0.0@RC Обратите внимание, что документация на developers.google.com относится к V1 этой библиотеки. Если вы хотите использовать более старую версию, вместо этого используйте: composer require google / apiclient: 1. *

https://github.com/google/google-api-php-client/issues/748