Instagram Service Provider for Laravel 4
elevencodes/instagram-laravel is a Laravel package for instagram service provider for laravel 4.
It currently has 32 GitHub stars and 8.403 downloads on Packagist (latest version 2.0.5).
Install it with composer require elevencodes/instagram-laravel.
Discover more Laravel packages by elevencodes
or browse all Laravel packages to compare alternatives.
Last updated
A simple Laravel 4 service provider for including the PHP Instagram API.
The Instagram Service Provider can be installed via Composer by requiring the elevencodes/instagram-laravel package.
{
"require": {
"laravel/framework": "4.1.*",
"php-instagram-api/php-instagram-api": "dev-master",
"elevencodes/instagram-laravel": "2.0.*@dev"
}
}
If you are using the Laravel 4.0, use
"elevencodes/instagram-laravel": "1.*"instead.
To use the Instagram Service Provider, you must register the provider when bootstrapping your Laravel application.
Run config:publish artisan command and update the package configuration file.
php artisan config:publish elevencodes/instagram-laravel
Find the providers key in app/config/app.php and register the Instagram Service Provider.
'providers' => array(
// ...
'Elevencodes\InstagramLaravel\InstagramLaravelServiceProvider',
)
Find the aliases key in app/config/app.php and add in our Instagram alias.
'aliases' => array(
// ...
'Instagram' => 'Elevencodes\InstagramLaravel\Facades\InstagramLaravel',
)
The following example uses the Instagram Service Provider to authenticate user.
Add the following methods in your Users Controller.
public function getLogin()
{
if (Session::has(Config::get('instagram::session_name')))
Session::forget(Config::get('instagram::session_name'));
Instagram::authorize();
}
public function getAuthorize()
{
Session::put(Config::get('instagram::session_name'), Instagram::getAccessToken(Input::get('code')));
return Redirect::to('/');
}
public function getLogout()
{
Session::forget(Config::get('instagram::session_name'));
return Redirect::to('/');
}
Add the following routes in your routes.php.
Route::get('/users/authorize', array('as' => 'authorize', 'uses' => 'UsersController@getAuthorize'));
Route::get('/login', array('as' => 'login', 'uses' => 'UsersController@getLogin'));
Route::get('/logout', array('as' => 'logout', 'uses' => 'UsersController@getLogout'));
You can use static call to get the current authenticated user.
$user = Instagram::getCurrentUser();