apiNG-plugin-codebird is a Twitter REST API plugin for apiNG.
- Supported apiNG models:
social,image - This plugin supports the
get-native-dataparameter - This plugin needs an bearer token
⚠️ - Used JavaScript library: codebird-js (included in distribution files)
- INSTALLATION
- Get file
- Include file
- Add dependency
- Add plugin
- BEARER TOKEN
- Generate your
bearer_token - Insert your
bearer_tokenintoaping-config.js
- Generate your
- USAGE
- Models
- Requests
- Rate limit
Install via either bower, npm, CDN (jsDelivr) or downloaded files:
bower install apiNG-plugin-codebird --savenpm install aping-plugin-codebird --save- use CDN file
- download apiNG-plugin-codebird.zip
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>Add the module jtt_aping_codebird as a dependency to your app module:
angular.module('app', ['jtt_aping', 'jtt_aping_codebird']);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>- 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/
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>'}
],
//...
}
});
}]);<YOUR_TWITTER_BEARER_TOKEN> with your twitter bearer_token
Supported apiNG models
| model | content | support | max items per request |
(native) default items 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
- 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 |
|---|---|---|---|---|
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}]
| 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 responserecent return only the most recent results in the responsepopular 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}]
Visit the official Twitter REST API rate limit documentations
MIT
