I\'m trying to implement Google\'s login API via the instructions here, but for some reason, when I try to run it, I always get:
Fatal error: Class \'
google's autoloader doesn't work for me, it's either because of an old version of PHP or a conflict with a competing autoloader, I don't know.
I have even tried manually including googles auto loader (which should be redundant as src/Google/Client.php
already require_once
's the autoload.php
:
require_once 'google-api-php-client/autoload.php'
require_once 'google-api-php-client/src/Google/Client.php'
Google_Config
is never found...
ultimatly the only solution is the solution as described in https://stackoverflow.com/a/26985116/3338098 i.e.
set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/google-api-php-client/src');
require_once 'Google/Client.php'
Are you sure you downloaded whole release not only master branch from github? You should have /vendors and /src directories - then require /src/autoload.php
This error means that you didn't use Composer, to install the client. Without Composer, in your script you should
set_include_path(get_include_path() . PATH_SEPARATOR . dirname($_SERVER['SCRIPT_FILENAME']) . 'vendor/google-api-php-client/src');
require_once '/path/to/autoload.php';
require_once '/path/to/Client.php';
Without the autoload.php, no class will be found. In Client.php the code before the Class definition tries to load autoload.php. But you have already found the Client.php, by giving the full path to it. So no loading of autoload.php happens there.
As you say, your problem solved when you reinstalled the API. I suppose you used Composer the second time.
Clarification: The above note does NOT mean to skip proper client installation, according to google documentation. Applies for "google/apiclient": "1.0.*@beta"
I fought with this for a while. The reason was actually quite simple:
I had ignored in git "config.php" which ignored this file and that's why it was not in my production environment.
I could solve the problem by following steps
> cd "youfolder"
> composer install
Instead of keeping vendor folder in root folder, keep it in google-api-php-client-master folder and use the following line to include it in your project
require_once DIR.'/google-api-php-client-master/vendor/autoload.php';