Laravel 5 + Google APIs Client Library


  1. Created a google app project
  2. Enabled Google+ API at your google project
  3. Created new Client ID
  4. Generated API Key
  5. Get service account name

You can find in this google link to do above steps.If you have already done those, you can start the following steps.


In your composer.json file, add

"require": {
 "google/apiclient": "1.0.*@beta"//This beta version is when I use, get updated version when you use


(My apiclient version is still beta, so I need to set minimum-stability to dev, but if your version is stable, you don’t need to change and skip to Step3)Find minimum-stability in your laravel project, and change to

"minimum-stability": "dev"


run >>>>composer update. After that, you will see google folder under yourapp>vendor folder.


In your composer.json file, add the following;

{ "autoload": 
     { "classmap": [ "vendor/google/apiclient/src/Google" ],


In your Create a new Client ID in Credentials, Select Service account and click on Create Client ID


In config folder, add google.php and add;

return [
    'app_name'          => 'your_app_name', 
    'client_id'         => 'your_client_id',
    'client_secret'     => 'your_client_secret',
    'api_key'           => 'your_api_key',
    'service_account_name' => 'your_service_account_name'


Create app>Services>Google.php file and then add the following code;

use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Config;

class Google {

    protected $client;

    protected $service;

    function __construct() {
        /* Get config variables */
        $client_id = Config::get('google.client_id');
        $service_account_name = Config::get('google.service_account_name');
        $key = Config::get('google.api_key');//you can use later

        $this->client = new \Google_Client();
        $this->service = new \Google_Service_Books($this->client);//Test with Books Service        

    public function getBooks(){
        $optParams = array('filter' => 'free-ebooks');
        $results = $this->service->volumes->listVolumes('Henry David Thoreau', $optParams);



In HomeController, modify index function

public function index(Google $google)
    $result = $google->getBooks();



Clone Laravel Git Project

If you are new to laravel, you all would have read Laravel Doc. But it was hard for me to find how to run cloned laravel git project. When I run, I got this error;

Warning: require(/Applications/XAMPP/xamppfiles/htdocs/laravel-master/bootstrap/../vendor/autoload.php) [function.require]: failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/laravel-master/bootstrap/autoload.php on line 17

Fatal error: require() [function.require]: Failed opening required ‘/Applications/XAMPP/xamppfiles/htdocs/laravel-master/bootstrap/../vendor/autoload.php’ (include_path=’.:/Applications/XAMPP/xamppfiles/lib/php:/Applications/XAMPP/xamppfiles/lib/php/pear’) in /Applications/XAMPP/xamppfiles/htdocs/laravel-master/bootstrap/autoload.php on line 17

Actually it is so simple, here is steps;

Step 1Install Composer(same from laravel site)

Step 2: Clone git to your running environment(eg. if you use xampp, htdos>your_app)

git clone

Step 3: In your_app folder, right click anywhere then you will see ‘Composer Install’


Step 4:

For xampp user, go to http://localhost/your_app/public/

For laravel artisan user, in Step3 command prompt, type “php artisan serve”, then you will see url to run your project default is http://localhost:8000/


Hope it helps!