apiNG-plugin-instagram is a Instagram REST API plugin for apiNG.
- Supported apiNG models:
social
,video
,image
- This plugin supports the
get-native-data
parameter - This plugin needs an access token
⚠️ - Used promise library: angular-instagram-api-factory (included in distribution files)
- INSTALLATION
- Get file
- Include file
- Add dependency
- Add plugin
- ACCESS TOKEN
- Generate your
access_token
- Insert your
access_token
intoaping-config.js
- Generate your
- USAGE
- Models
- Requests
- Rate limit
Install via either bower, npm, CDN (jsDelivr) or downloaded files:
bower install apiNG-plugin-instagram --save
npm install aping-plugin-instagram --save
- use CDN file
- download apiNG-plugin-instagram.zip
Include aping-plugin-instagram.min.js
in your apiNG application
<!-- when using bower -->
<script src="bower_components/apiNG-plugin-instagram/dist/aping-plugin-instagram.min.js"></script>
<!-- when using npm -->
<script src="node_modules/aping-plugin-instagram/dist/aping-plugin-instagram.min.js"></script>
<!-- when using cdn file -->
<script src="//cdn.jsdelivr.net/npm/aping-plugin-instagram@latest/dist/aping-plugin-instagram.min.js"></script>
<!-- when using downloaded files -->
<script src="aping-plugin-instagram.min.js"></script>
Add the module jtt_aping_instagram
as a dependency to your app module:
angular.module('app', ['jtt_aping', 'jtt_aping_instagram']);
Add the plugin's directive aping-instagram="[]"
to your apiNG directive and configure your requests
<aping
template-url="templates/social.html"
model="social"
items="20"
aping-instagram="[{'tag':'camping'}]">
</aping>
- Login on instagram.com/developer
- Navigate to instagram.com/developer/clients/manage
- Register a "New Client ID"
- Generate access_token
- via browser
- Open
https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token
with information from http://instagram.com/developer/clients/manage/ - Accept the alert from instagram
- Get your access_token from the url bar of your browser
- Open
- OR via curl:
- via browser
curl \-F 'client_id=CLIENT-ID' \
-F 'client_secret=CLIENT-SECRET' \
-F 'grant_type=authorization_code' \
-F 'redirect_uri=YOUR-REDIRECT-URI' \
-F 'code=CODE' \
https://api.instagram.com/oauth/access_token
Create and open js/apiNG/aping-config.js
in your application folder. It should be look like this snippet:
angular.module('jtt_aping').config(['$provide', function ($provide) {
$provide.value("apingDefaultSettings", {
apingApiKeys : {
instagram : [
{'access_token':'<YOUR_INSTAGRAM_ACCESS_TOKEN>'},
]
//...
}
});
}]);
<YOUR_INSTAGRAM_ACCESS_TOKEN>
with your instagram access_token
Supported apiNG models
model | content | support | max items per request |
(native) default items per request |
---|---|---|---|---|
social |
images, videos | full | 33 |
20 |
image |
images | partly | 33 |
20 |
video |
videos | partly | 33 |
20 |
support:
- full: the source platform provides a full list with usable results
- partly: the source platfrom provides just partly usable results
Every apiNG plugin expects an array of requests as html attribute.
parameter | sample | default | description | optional |
---|---|---|---|---|
tag |
camping |
Search Tag (without #) | no | |
items |
10 |
20 |
Items per request (0 -33 ) |
yes |
Sample requests:
[{'tag':'soccer'}, {'tag':'nofilter'}]
[{'tag':'eagle', 'items':10}]
parameter | sample | default | description | optional |
---|---|---|---|---|
userId |
416104304 |
The userId of an instagram userUsername to userId converter |
no | |
items |
10 |
20 |
Items per request (0 -33 ) |
yes |
Sample request:
[{'userId':'416104304', 'items':10}]
parameter | sample | default | description | optional |
---|---|---|---|---|
lat |
-13.163333 |
Latitude of the center search coordinate. If used, lng is required | yes | |
lng |
-72.545556 |
Longitude of the center search coordinate. If used, lat is required | yes | |
distance |
2500 |
1000 |
Radius of the center search coordinates in meters. Max distance is 5000 meters |
yes |
items |
10 |
20 |
Items per request (0 -33 ) |
yes |
Sample request:
[{'lat':'-13.163333', 'lng':'-72.545556', 'distance':'2000'}]
parameter | sample | default | description | optional |
---|---|---|---|---|
locationId |
24245 |
The Instagram locationId of a location.Find Instagram locations here |
no | |
items |
10 |
20 |
Items per request (0 -33 ) |
yes |
Sample requests:
[{'locationId':'24245', 'items':30}]
Visit the official Instagram API documentation
The live Rate Limit is 5000 / hour. Global rate limits are applied inclusive of all API calls made by an app per access token over the 1-hour sliding window, regardless of the particular endpoint. Rate limits also apply to invalid or malformed requests.
MIT