2
votes

I have tried the official HelloAnalytics tutorial however it doesn't work.

I am recieveing this error:

"PHP Fatal error: Class 'Google_Auth_AssertionCredentials' not found"

My Code:

  // Creates and returns the Analytics service object.

  // Load the Google API PHP Client Library.
   require_once 'vendor/autoload.php';

  // Use the developers console and replace the values with your
  // service account email, and relative location of your key file.
  $service_account_email = '[email protected]';
   $key_file_location = 'key_anyl.p12';

 // Create and configure a new client object.
  $client = new Google_Client();
  $client->setApplicationName("HelloAnalytics");
   $analytics = new Google_Service_Analytics($client);

 // Read the generated client_secrets.p12 key.
  $key = file_get_contents($key_file_location);
  $cred = new Google_Auth_AssertionCredentials(
  $service_account_email,
  array(Google_Service_Analytics::ANALYTICS_READONLY),
  $key
   );
 $client->setAssertionCredentials($cred);
   if($client->getAuth()->isAccessTokenExpired()) {
   $client->getAuth()->refreshTokenWithAssertion($cred);
  }

Update:

after adding the suggested V1-master branch I am now getting the following error

Uncaught exception 'Google_Service_Exception' with message 'Error calling GET googleapis.com/analytics/v3/management/accounts: (403) User does not have any Google Analytics account.'

2
if your not using composer make sure you downloaded the v1-master branch github.com/google/google-api-php-client/tree/v1-master - DaImTo
thx i have tried this version but now i get this error Uncaught exception 'Google_Service_Exception' with message 'Error calling GET googleapis.com/analytics/v3/management/accounts: (403) User does not have any Google Analytics account.' - glanaj
Check the answer I have just added. this is getting to long for comments. - DaImTo
Welcome to stack I have edited your question a little to show you how you can format questions for better reading of future users who may be helped by your question. - DaImTo

2 Answers

0
votes

Problem nr 1:

if your not using composer make sure you downloaded the v1-master branch – Link

Problem nr 2:

(403) User does not have any Google Analytics account.

You are using a service account by default a service account does not have access to any google analytics accounts. You need to take the service account email address from Google Developers console and add it as a user at the ACCOUNT level it must be the ACCOUNT level in the Google Analytics website under the admin section.

0
votes

For your problem you need to add the base directory of the library in the php 'include_path'.

Try putting this line of code before the require_once

set_include_path( get_include_path() . PATH_SEPARATOR . 'vendor/google/src' );