The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

Google Apiclient

pulkitjalan/google-apiclient image

Google Apiclient stats

Downloads
1.9M
Stars
239
Open Issues
20
Forks
76

View on GitHub →

Google api php client wrapper with Cloud Platform and Laravel support

Google Api Client Wrapper

Google api php client wrapper with Cloud Platform and Laravel support

Requirements

  • PHP >=8.0

Installation

Install via composer

composer require pulkitjalan/google-apiclient

Laravel

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

PulkitJalan\Google\GoogleServiceProvider::class

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

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

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

Using an older version of PHP / Laravel?

If you are on a PHP version below 8.0 or a Laravel version below 8.0 just use an older version of this package.

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 credentials JSON's location to use assert credentials, otherwise
| app engine or compute engine will be used.
|
*/
'service' => [
/*
| Enable service account auth or not.
*/
'enabled' => false,
 
/*
| Path to service account json file
*/
'file' => '',
],
];

To use Google Cloud Platform services, enter the location to the service account JSON file (not the JSON string itself). To use App Engine or Computer Engine, leave it blank.

From Google's upgrading document:

Note: P12s are deprecated in favor of service account JSON, which can be generated in the Credentials section of Google Developer Console.

Get Google\Client

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

Laravel Example:

$googleClient = Google::getClient();

Get a service

$client = new PulkitJalan\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');

Laravel Example:

// returns instance of \Google\Service\Storage
$storage = Google::make('storage');
 
// list buckets example
$storage->buckets->listBuckets('project id');
 
// get object example
$storage->objects->get('bucket', 'object');

Have a look at google/google-api-php-client-services to get a full list of the supported Google Services.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Pulkitjalan Google Apiclient Related Articles

Fluent Object Operations with Laravel's Enhanced Helper Utilities image

Fluent Object Operations with Laravel's Enhanced Helper Utilities

Read article
Building Flexible Axios Clients image

Building Flexible Axios Clients

Read article
PHP 7.3: Trailing Commas in Function Calls image

PHP 7.3: Trailing Commas in Function Calls

Read article
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
Laravel Cloud logo

Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Cloud
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
Bacancy logo

Bacancy

Supercharge your project with a seasoned Laravel developer with 4-6 years of experience for just $3200/month. Get 160 hours of dedicated expertise & a risk-free 15-day trial. Schedule a call now!

Bacancy
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit