aping-plugin-instagram
v0.7.7
Published
Instagram plugin for apiNG
Downloads
8
Maintainers
Readme
apiNG-plugin-instagram is a Instagram REST API plugin for apiNG.
Information
- Supported apiNG models:
social
,video
,image
- This plugin supports the
get-native-data
parameter - This plugin needs an access token :warning:
- Used promise library: angular-instagram-api-factory (included in distribution files)
Documentation
- 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
1. INSTALLATION
I. Get file
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
II. Include file
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/aping.plugin-instagram/latest/aping-plugin-instagram.min.js"></script>
<!-- when using downloaded files -->
<script src="aping-plugin-instagram.min.js"></script>
III. Add dependency
Add the module jtt_aping_instagram
as a dependency to your app module:
angular.module('app', ['jtt_aping', 'jtt_aping_instagram']);
IV. Add the plugin
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>
2. ACCESS TOKEN
I. Generate your access_token
- Login on instagram.com/developer
- Navigate to instagram.com/developer/clients/manage
- Register a New Client
- Generate access_token
- Open
https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code
with information from http://instagram.com/developer/clients/manage/ - OR via curl:
- Open
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
II. Insert your access_token
into aping-config.js
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>'},
]
//...
}
});
}]);
:warning: Replace <YOUR_INSTAGRAM_ACCESS_TOKEN>
with your instagram access_token
3. USAGE
I. Models
Supported apiNG models
| model | content | support | max itemsper request | (native) default itemsper 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
II. Requests
Every apiNG plugin expects an array of requests as html attribute.
Requests by Tag
| 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}]
Requests by User
| 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}]
Requests by Coordinates
| 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'}]
Requests by Location
| 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}]
III. Rate limit
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.
Licence
MIT