artin / instagram
Simple Instagram API package for Laravel 5.*. Package is in development.
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ^6.0
- symfony/psr-http-message-bridge: 0.2
Requires (Dev)
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-11-19 19:39:37 UTC
README
Simple Instagram API package for Laravel 5.*. Package is in development, but works - nothing crazy. Always looking for contributors.
Installation
To install, run the following command in your project directory
$ composer require artin/instagram
Then in config/app.php
add the following to the providers
array:
Mbarwick83\Instagram\InstagramServiceProvider::class
Also, if you must (recommend you don't), add the Facade class to the aliases
array in config/app.php
as well:
'Instagram' => Mbarwick83\Instagram\Facades\Instagram::class
But it'd be best to just inject the class, like so (this should be familiar):
use Mbarwick83\Instagram\Instagram;
Configuration
To publish the packages configuration file, run the following vendor:publish
command:
php artisan vendor:publish
This will create a instagram.php in your config directory. Here you must enter your Instagram API Keys. Get your API keys at https://www.instagram.com/developer/clients/register/.
Example Usage
// Get login url: public function index(Instagram $instagram) { return $instagram->getLoginUrl(); // or Instagram::getLoginUrl(); } // Get access token on callback, once user has authorized via above method public function callback(Request $request, Instagram $instagram) { $response = $instagram->getAccessToken($request->code); // or $response = Instagram::getAccessToken($request->code); if (isset($response['code']) == 400) { throw new \Exception($response['error_message'], 400); } return $response['access_token']; }
Those are the only two custom classes for the API package. The rest of the API works with POST
, DELETE
and GET
requests based on Instagram's end points to keep this package super simple. You can view all the end points here https://www.instagram.com/developer/endpoints/.
All you need to do is specify if the request is a POST
, DELETE
or GET
request, specify just the end point and any URL queries that are required (in an array).
For example:
public function index(Instagram $instagram) { $data = $instagram->get('v1/users/self', ['access_token' => $access_token]); // $data = $instagram->get('v1/users/' $user-id, ['access_token' => $access_token]); return $data; }
VERY SIMPLE AND EASY!
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Credits
License
The MIT License (MIT). Please see License File for more information.