superkresek / custom-instagram-sdk
This is an unofficial SDK for the Instagram Private API in PHP forked from https://github.com/liamcottle/Instagram-SDK-PHP
Installs: 157
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
pkg:composer/superkresek/custom-instagram-sdk
Requires
- php: >=5.5
- ext-curl: *
- netresearch/jsonmapper: ^0.11.0
- php-curl-class/php-curl-class: ^4.11
- ramsey/uuid: ^3.4
This package is not auto-updated.
Last update: 2017-09-09 09:23:35 UTC
README
This is an unofficial SDK for the Instagram Private API in PHP forked from https://github.com/liamcottle/Instagram-SDK-PHP
Motivation
I decided to build this because most libraries for the Instagram Private API I have come across aren't OOP based and are difficult to use.
Donations
If you like this project, please consider donating towards my coffee addiction fund, so I can continue to push commits!
Paypal: DonateBitcoin: 1814x9kioBxPDBCQx8oaty7e6Z3DAosucd
Installation
Composer
composer require superkresek/custom-instagram-sdk
require("../vendor/autoload.php"); $instagram = new \Instagram\Instagram();
Don't have Composer?
What?! Grab it here: https://getcomposer.org/
Examples
Examples can be seen in the examples folder.
Usage
Login
Read: Session Management, to avoid calling login in each script.
$instagram->login("username", "password");
Timeline Feed
$maxId:string(Optional) Used for Pagination
$instagram->getTimelineFeed($maxId);
User Feed
$userId:string|UserUser or User Id to get Feed of$maxId:string(Optional) Used for Pagination
$instagram->getUserFeed($userId, $maxId);
My User Feed
$maxId:string(Optional) Used for Pagination
$instagram->getMyUserFeed($maxId);
Liked Feed
$maxId:string(Optional) Used for Pagination
$instagram->getLikedFeed($maxId);
Tag Feed
$tag:stringTag$maxId:string(Optional) Used for Pagination
$instagram->getTagFeed($tag, $maxId);
Location Feed
$locationId:string|LocationLocation or Location Id to get Feed of$maxId:string(Optional) Used for Pagination
$instagram->getLocationFeed($locationId, $maxId);
User Tags Feed
$userId:string|UserUser of User Id to get Tags Feed of$maxId:string(Optional) Used for Pagination
$instagram->getUserTagsFeed($userId, $maxId);
Like Media
$mediaId:string|FeedItemFeedItem or FeedItem Id to Like
$instagram->likeMedia($mediaId);
Unlike Media
$mediaId:string|FeedItemFeedItem or FeedItem Id to Unlike
$instagram->unlikeMedia($mediaId);
Delete Media
$mediaId:string|FeedItemFeedItem or FeedItem Id to Delete$mediaType:intMedia Type (Constants available inDeleteMediaRequestclass)
$instagram->deleteMedia($mediaId, $mediaType);
Comment on Media
$mediaId:string|FeedItemFeedItem or FeedItem Id to Comment on$comment:stringComment
$instagram->commentOnMedia($mediaId, $comment);
Get Media Comments
$mediaId:string|FeedItemFeedItem or FeedItem Id of Media to get Comments from$maxId:string(Optional) Used for Pagination
$instagram->getMediaComments($mediaId, $maxId);
Delete Media Comments
$mediaId:string|FeedItemFeedItem or FeedItem Id to Delete Comments from$commentIds:arrayComment Ids to Delete
$instagram->deleteCommentsFromMedia($mediaId, $commentIds);
User Info
$userId:string|UserUser or User Id to get Info of
$instagram->getUserInfo($userId);
User Followers
$userId:string|UserUser or User Id to get Followers of$maxId:string(Optional) Used for Pagination
$instagram->getUserFollowers($userId, $maxId);
User Following
$userId:string|UserUser or User Id to get Following of$maxId:string(Optional) Used for Pagination
$instagram->getUserFollowing($userId, $maxId);
GeoMedia
$userId:string|UserUser or User Id to get GeoMedia of
$instagram->getUserMap($userId);
Media Info
$mediaId:string|FeedItemFeedItem or FeedItem Id to get Info of
$instagram->getMediaInfo($mediaId);
Current User Account
$instagram->getCurrentUserAccount();
Edit User Profile
$firstname:stringFirst Name$email:stringEmail$phoneNumber:stringPhone Number$gender:intGender (Constants available inUserclass)$biography:string: Biography$externalUrl:stringExternal Url
$instagram->editUserProfile($firstname, $email, $phoneNumber, $gender, $biography, $externalUrl);
Set Account Public
$instagram->setAccountPublic();
Set Account Private
$instagram->setAccountPrivate();
Show Friendship
$userId:string|UserUser or User Id to show Friendship between
$instagram->showFriendship($userId);
Follow User
$userId:string|UserUser or User Id to Follow
$instagram->followUser($userId);
Unfollow User
$userId:string|UserUser or User Id to Unfollow
$instagram->unfollowUser($userId);
Block User
$userId:string|UserUser or User Id to Block
$instagram->blockUser($userId);
Unblock User
$userId:string|UserUser or User Id to Unblock
$instagram->unblockUser($userId);
Search Tags
$query:stringTag to Search for
$instagram->searchTags($query);
Search Users
$query:stringUser to Search for
$instagram->searchUsers($query);
Search Places (Facebook)
$query:stringPlace to Search for
$instagram->searchFacebookPlaces($query);
$latitude:stringLatitude$longitude:stringLongitude
$instagram->searchFacebookPlacesByLocation($latitude, $longitude);
Change Profile Picture
$path:stringFile path of Profile Picture to Upload
$instagram->changeProfilePicture($path);
Remove Profile Picture
$instagram->removeProfilePicture();
Post Photo
$path:stringFile path of Photo to Post$caption:stringCaption for this Photo
$instagram->postPhoto($path, $caption);
Edit Media
$mediaId:string|FeedItemFeedItem or FeedItem Id to Edit$caption:stringCaption for this Media
$instagram->editMedia($mediaId, $caption);
Get User by Username
$username:stringUsername to find User by
$instagram->getUserByUsername($username);
Logout
$instagram->logout();
Session Management
To avoid logging in each time, you can use the saveSession and initFromSavedSession methods.
Script 1:
//Login $instagram->login("username", "password"); //Serialize the Session into a JSON string $savedSession = $instagram->saveSession(); //Store $savedSession in Database, or Cookie etc
Script 2:
//Load $savedSession from Database or Cookie etc $savedSession = ...; //Init from Saved Session $instagram->initFromSavedSession($savedSession); //Session is Restored, do something! $instagram-> ...;
Extras
Proxy
Use a Proxy between your Server and the Instagram API
$instagram->setProxy("127.0.0.1:8888");
Enable or Disable Peer Verification, for testing with Charles Proxy etc.
$instagram->setVerifyPeer(false);
TODO
- Inbox
- Direct Share
- Recent Activity
- Register new Accounts
- Upload and Post Videos
Contributing
If you would like to contribute to this project, please feel free to submit a pull request.
Before you do, take a look at the issues to see if the functionality you want to contribute to is already in development.
License
MIT
Legal
The name "Instagram" is a copyright of Instagram, Inc.
This project is in no way affiliated with, authorized, maintained, sponsored or endorsed by Instagram, Inc or any of its affiliates or subsidiaries.
I, the project owner and creator, am not responsible for any legalities that may arise in the use of this project. Use at your own risk.