apiNG-plugin-codebird is a Twitter REST API plugin for apiNG.
- Supported apiNG models:
social
,image
- This plugin supports the
get-native-data
parameter - 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_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-codebird --save
npm 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