First of all you need to know that Instagram API uses OAuth 2.0 protocol. OAuth 2.0 provides a specific authorization flow for web apps, desktop apps and mobile apps. Instagram requires authentication before getting information from their API, but don’t be afraid it’s very simple.
Pre Requirements:
- Created account in Instagram
- Registered Client(You can create your own client here)
Requirements:
CLIENT_ID -79e1a142dbeabd57a3308c52ad43e31d
CLIENT_SECRET -34a6834081c44c20bd11e0a112a6adg1
REDIRECT_URI - http://127.0.0.1:8001/iCallback
You can get above information from https://www.instagram.com/developer/clients/manage/
CODE - You need to open page https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code
https://api.instagram.com/oauth/authorize/?client_id=79e1a142dbeabd57a3308c52ad43e31d&redirect_uri=http://127.0.0.1:8001/iCallback&response_type=code
You will be redirected to
http://your-redirect-uri?code=CODE
In my case it looks like this:
http://127.0.0.1:8001/iCallback?code=2e122f3d76e8125b8b4982f16ed623c2
Now we have all information to get access token!
curl -F 'client_id=CLIENT_ID' -F 'client_secret=CLIENT_SECRET' -F 'grant_type=authorization_code' -F 'redirect_uri=REDIRECT_URI' -F 'code=CODE' https://api.instagram.com/oauth/access_token
if everything is ok you should receive
{ "access_token": "fb2e77d.47a0479900504cb3ab4a1f626d174d2d", "user": { "id": "1574083", "username": "rafal_kowalski", "full_name": "Rafal Kowalski", "profile_picture": "..." } }
In Open Event we used it to get all media from instagram – to use it as for example a background in an event details’ page
curl 'https://api.instagram.com/v1/users/self/media/recent/?access_token=ACCESS_TOKEN'