Package Data | |
---|---|
Maintainer Username: | Redbaron76 |
Maintainer Contact: | f.fumis@gmail.com (Fabio Fumis) |
Package Create Date: | 2014-09-11 |
Package Last Update: | 2014-09-11 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-18 03:03:21 |
Package Statistics | |
---|---|
Total Downloads: | 920 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 8 |
Total Watchers: | 3 |
Total Forks: | 1 |
Total Open Issues: | 0 |
This package enables a Laravel flavoured way to manage Google services through its API interface (v3)
Add the required package to your composer.json file
{
"require": {
...
"redbaron76/googlavel": "1.0"
}
}
In order to avoid Composer's possible conflicts, just set your composer.json 'minimum-stability' to 'dev'
{
...
"minimum-stability": "dev"
}
...then just run composer update
This package includes a ServiceProvider that will give access to a helpful Googlavel
facade.
Set the GooglavelServiceProvider
reference in your /app/config/app.php
like this:
// app/config/app.php
'providers' => array(
'...',
'Redbaron76\Googlavel\GooglavelServiceProvider'
);
Before using this package, you will need to activate a profile from Google developer and get your personal code from the Google Developers Console in order to obtain access and use their services through API calls.
Once obtained Client ID
and Client Secret
strings for web application from the Google Developers Console and set a valid Redirect URI
callback, export the package config file:
php artisan config:publish redbaron76/googlavel
...and put them to the oauth2 parameters into the config file
// app/config/packages/redbaron76/googlavel/config.php
return array(
// OAuth2 Setting, you can get these keys in Google Developers Console
'oauth2_client_id' => '< YOUR CLIENT ID >',
'oauth2_client_secret' => '< YOUR CLIENT SECRET >',
'oauth2_redirect_uri' => 'http://localhost:8081/', // Change it according to your needs
...
);
Set also the correct scope
for the services you will use in your application (and remember to activate related APIs inside the Google Developers Console => APIS & AUTH => APIs). Refer to Google API wiki for any help.
Once everything set correctly, you'll gain access to the Googlavel
facade in a pure Laravel style.
// routes.php
Route::get('/', function()
{
if ( Input::has('code') )
{
$code = Input::get('code');
// authenticate with Google API
if ( Googlavel::authenticate($code) )
{
return Redirect::to('/protected');
}
}
// get auth url
$url = Googlavel::authUrl();
return link_to($url, 'Login with Google!');
});
Route::get('/logout', function()
{
// perform a logout with redirect
return Googlavel::logout('/');
});
Route::get('/protected', function()
{
// Get the google service (related scope must be set)
$service = Googlavel::getService('Calendar');
// invoke API call
$calendarList = $service->calendarList->listCalendarList();
foreach ( $calendarList as $calendar )
{
echo "{$calendar->summary} <br>";
}
return link_to('/logout', 'Logout');
});