instagram icon indicating copy to clipboard operation
instagram copied to clipboard

PHP SDK for Instagram

Instagram SDK

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version License

Awesome SDK to work with Instagram social network

Available methods:

  • [X] searchUser
  • [X] getUser
  • [X] getUserFeed
  • [X] getUserMediaRecent
  • [X] getUserMediaLiked
  • [X] getMediaLikes
  • [X] removeMediaLike
  • [X] getUserFollows
  • [X] getUserFollowedBy
  • [X] getMedia
  • [X] getMediaPopular

Authentication

This library is SDK, see OAuth provider in socialconnect/auth project.

Installation

Add a requirement to your composer.json:

{
    "require": {
        "socialconnect/instagram": "~0.1"
    }
}

Run the composer installer:

php composer.phar install

How to use

First you need to create service:

// Your Instagram Application's settings
$appId = 'appId';
$appSecret = 'secret';

$instagramClient = new \SocialConnect\Instagram\Client($appId, $appSecret);
$instagramClient->setHttpClient(new \SocialConnect\Common\Http\Client\Curl());

Get user with specified $id:

$instagramClient = $instagramClient->getUser(715473058);
var_dump($user);

Get self information:

$instagramClient = $instagramClient->getUser();
var_dump($user);

Customs methods

$parameters = [];
$result = $instagramClient->request('method/CustomMethod', $parameters);
if ($result) {
    var_dump($result);
}

Custom entities

class MyUserEntitiy extends \SocialConnect\Instagram\Entity\User {
    public function myOwnMethod()
    {
        //do something
    }
}

$instagramClient->getEntityUser(new MyUserEntitiy());
$user = $instagramClient->getUser(1);

if ($user) {
    $instagramClient->myOwnMethod();
}

License

This project is open-sourced software licensed under the MIT License. See the LICENSE file for more information.