IrisDande / lara5-googleclient-api by IrisDande

Google api php client wrapper with Cloud Platform and Laravel 4 & 5 support
12
1
2
Package Data
Maintainer Username: IrisDande
Package Create Date: 2016-07-18
Package Last Update: 2016-07-19
Language: PHP
License: MIT
Last Refreshed: 2024-12-19 03:01:41
Package Statistics
Total Downloads: 12
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

Google Api Client Wrapper

Google api php client wrapper with Cloud Platform and Laravel 4 & 5 support

Build Status Scrutinizer Code Quality Coverage Status License Latest Version Total Downloads

Requirements

This package requires PHP >=5.4

Installation

Install via composer - edit your composer.json to require the package.

"require": {
    "irisdande/lara5-googleclient-api": "2.*"
}

Then run composer update in your terminal to pull it in.

Or use composer require irisdande/lara5-googleclient-api

Laravel

To use in laravel add the following to the providers array in your config/app.php

IrisDande\Google\GoogleServiceProvider::class

Next add the following to the aliases array in your config/app.php

'Google' => IrisDande\Google\Facades\Google::class

Finally run php artisan vendor:publish --provider="IrisDande\Google\GoogleServiceProvider" --tag="config" to publish the config file.

Looking for a Laravel 4 compatible version?

Checkout the 1.0 branch

Usage

The Client class takes an array as the first parameter, see example of config file below:

return [
    /*
    |----------------------------------------------------------------------------
    | Google application name
    |----------------------------------------------------------------------------
    */
    'application_name' => '',

    /*
    |----------------------------------------------------------------------------
    | Google OAuth 2.0 access
    |----------------------------------------------------------------------------
    |
    | Keys for OAuth 2.0 access, see the API console at
    | https://developers.google.com/console
    |
    */
    'client_id' => '',
    'client_secret' => '',
    'redirect_uri' => '',
    'scopes' => [],
    'access_type' => 'online',
    'approval_prompt' => 'auto',

    /*
    |----------------------------------------------------------------------------
    | Google developer key
    |----------------------------------------------------------------------------
    |
    | Simple API access key, also from the API console. Ensure you get
    | a Server key, and not a Browser key.
    |
    */
    'developer_key' => '',

    /*
    |----------------------------------------------------------------------------
    | Google service account
    |----------------------------------------------------------------------------
    |
    | Set the information below to use assert credentials
    | Leave blank to use app engine or compute engine.
    |
    */
    'service' => [
        /*
        | Example xxx@developer.gserviceaccount.com
        */
        'account' => '',

        /*
        | Example ['https://www.googleapis.com/auth/cloud-platform']
        */
        'scopes' => [],

        /*
        | Path to key file
        | Example storage_path().'/key/google.p12'
        */
        'key' => '',
    ]
];

To use the Google Cloud Platform Services you can either set the information in the config file under service, or if running under compute engine (or app engine) leave it blank.

NOTE: service => ['account'] is the service Email Address and not the Client ID!

Get Google_Client

$client = new IrisDande\Google\Client($config);
$googleClient = $client->getClient();

Laravel Example:

$googleClient = Google::getClient();

Get a service

$client = new IrisDande\Google\Client($config);

// returns instance of \Google_Service_Storage
$storage = $client->make('storage');

// list buckets example
$storage->buckets->listBuckets('project id');

// get object example
$storage->objects->get('bucket', 'object');