Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require('dotenv').config({silent: true});
- var Twitter = require('twitter-node-client').Twitter;
- var watson = require('watson-developer-cloud');
- var twitter = new Twitter({
- "consumerKey": process.env.TWITTER_KEY,
- "consumerSecret": process.env.TWITTER_SECRET,
- "accessToken": process.env.TWITTER_TOKEN,
- "accessTokenSecret": process.env.TWITTER_TOKEN_SECRET,
- "callBackUrl": process.env.TWITTER_CALLBACK
- });
- var personality_insights = watson.personality_insights({
- url: 'https://gateway.watsonplatform.net/personality-insights/api',
- username: process.env.PERSONALITY_INSIGHTS_USERNAME,
- password: process.env.PERSONALITY_INSIGHTS_PASSWORD,
- version: 'v2'
- });
- twitter.getUserTimeline({ screen_name: 'adele', count: '300'}, handleError, getPersonalityProfile);
- //Callback functions
- var handleError = function (err, response, body) {
- console.log('ERROR [%s]', err);
- return new Error(err);
- };
- function getPersonalityProfile (tweets) {
- personality_insights.profile(createContentItemsJson(tweets), function(error, response) {
- if (error)
- console.log('error:', error);
- else
- console.log(JSON.stringify(response, null, 2));
- }
- );
- };
- function createContentItemsJson(tweets){
- var jsonObj = JSON.parse(tweets);
- //console.log('twitter_helper: success function called with data.');
- var keys = Object.keys(jsonObj);
- var contentItemsJson = {
- "contentItems":[]
- };
- for (var i = 0; i < keys.length; i++) {
- tweet = jsonObj[i];
- var contentItem = {
- 'content': tweet.text.replace(/[^(\x20-\x7F)]*/g, ""),
- 'contenttype': 'text/plain',
- 'created': (new Date(tweet.created_at)).getTime()/1000.0,
- 'id': tweet.user.id,
- 'language': tweet.lang,
- 'reply': (tweet.in_reply_to_screen_name != null).toString(),
- 'forward': (typeof tweet.retweeted_status != 'undefined').toString()
- }
- contentItemsJson.contentItems.push(contentItem);
- }
- return contentItemsJson;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement