Awesome
apiNG-plugin-codebird is a Twitter REST API plugin for apiNG.
Information
- Supported apiNG models:
social
,image
- This plugin supports the
get-native-data
parameter - This plugin needs an bearer token :warning:
- Used JavaScript library: codebird-js (included in distribution files)
Documentation
- INSTALLATION
- Get file
- Include file
- Add dependency
- Add plugin
- BEARER TOKEN
- Generate your
bearer_token
- Insert your
bearer_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-codebird --save
npm install aping-plugin-codebird --save
- use CDN file
- download apiNG-plugin-codebird.zip
II. Include file
Include aping-plugin-codebird.min.js
in your apiNG application
<!-- when using bower -->
<script src="bower_components/apiNG-plugin-codebird/dist/aping-plugin-codebird.min.js"></script>
<!-- when using npm -->
<script src="node_modules/aping-plugin-codebird/dist/aping-plugin-codebird.min.js"></script>
<!-- when using cdn file -->
<script src="//cdn.jsdelivr.net/npm/aping-plugin-codebird@latest/dist/aping-plugin-codebird.min.js"></script>
<!-- when using downloaded files -->
<script src="aping-plugin-codebird.min.js"></script>
III. Add dependency
Add the module jtt_aping_codebird
as a dependency to your app module:
angular.module('app', ['jtt_aping', 'jtt_aping_codebird']);
IV. Add the plugin
Add the plugin's directive aping-codebird="[]"
to your apiNG directive and configure your requests
<aping
template-url="templates/social.html"
model="social"
items="20"
aping-codebird="[{'search':'#music'}]">
</aping>
2. BEARER TOKEN
I. Generate your bearer_token
- Login on dev.twitter.com
- Navigate to apps.twitter.com
- Create an new app
- Navigate to
https://apps.twitter.com/app/<YOUR_APP_ID>/permissions
- Change Access to Read only and save
- Navigate to
https://apps.twitter.com/app/<YOUR_APP_ID>
- Get your
bearer_token
- Follow this official introductions: https://dev.twitter.com/oauth/reference/post/oauth2/token
- OR just use this simple generator: https://gearside.com/nebula/documentation/utilities/twitter-bearer-token-generator/
II. Insert your bearer_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 : {
twitter: [
{'bearer_token':'<YOUR_TWITTER_BEARER_TOKEN>'}
],
//...
}
});
}]);
:warning: Replace <YOUR_TWITTER_BEARER_TOKEN>
with your twitter bearer_token
3. USAGE
I. Models
Supported apiNG models
model | content | support | max items<br>per request | (native) default items<br>per request |
---|---|---|---|---|
social | recent tweets, videos, images | full | 100 | 15 |
image | recent images | partly | 100 | 15 |
support:
- full: the source platform provides a full list with usable results <br>
- partly: the source platfrom provides just partly usable results
II. Requests
Every apiNG plugin expects an array of requests as html attribute.
Requests by User
parameter | sample | default | description | optional |
---|---|---|---|---|
user | jquery | The twitter screen name of the user for whom to return results for | no | |
items | 20 | 15 | Items per request (0 -100 ) | yes |
showAvatar | true | false | Use true for show users avatar as image if post has no own image | yes |
exclude_replies | true | false | This parameter will prevent replies from appearing in the returned timeline. Using exclude_replies with the items parameter will mean you will receive up-to count tweets — this is because the items parameter retrieves that many tweets before filtering out retweets and replies. | yes |
include_rts | false | true | When set to false , the timeline will strip any native retweets (though they will still count toward both the maximal length of the timeline and the slice selected by the count parameter). | yes |
Sample requests:
[{'user':'johnnyzeitlos'}, {'user':'jowe'}, {'user':'angularui'}]
[{'user':'AngularAir', 'items':10, 'showAvatar':'true', 'exclude_replies':true}]
Requests by Search
parameter | sample | default | description | optional |
---|---|---|---|---|
search | jquery | Searchterm. A UTF-8, URL-encoded search query of 500 characters maximum, including operators. Queries may additionally be limited by complexity. | no | |
items | 20 | 15 | Items per request (0 -100 ) | yes |
showAvatar | true | false | Use true for show users avatar as image if post has no own image | yes |
result_type | recent | mixed | mixed include both popular and real time results in the response<br>recent return only the most recent results in the response<br>popular return only the most popular results in the response | yes |
lat | -13.163333 | Returns tweets by users located within a given radius of the given latitude/longitude | yes | |
lng | -72.545556 | Returns tweets by users located within a given radius of the given latitude/longitude | yes | |
distance | 5 | 1 | Returns tweets by users located within a given radius in kilometers of the given latitude/longitude | yes |
language | de | Restricts tweets to the given language, given by an ISO 639-1 code | yes |
Sample requests:
[{'search':'#eagles', 'result_type':'recent'}, {'search':'Thomas Müller', 'result_type':'popular'}]
[{'search':'machu picchu', 'lat':'-13.163333', 'lng':'-72.545556', 'distance':5}]
III. Rate limit
Visit the official Twitter REST API rate limit documentations
Licence
MIT