Advertisement
Guest User

Untitled

a guest
Jul 6th, 2016
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. require('dotenv').config({silent: true});
  2.  
  3. var Twitter = require('twitter-node-client').Twitter;
  4. var watson = require('watson-developer-cloud');
  5.  
  6. var twitter = new Twitter({
  7. "consumerKey": process.env.TWITTER_KEY,
  8. "consumerSecret": process.env.TWITTER_SECRET,
  9. "accessToken": process.env.TWITTER_TOKEN,
  10. "accessTokenSecret": process.env.TWITTER_TOKEN_SECRET,
  11. "callBackUrl": process.env.TWITTER_CALLBACK
  12. });
  13.  
  14.  
  15. var personality_insights = watson.personality_insights({
  16. url: 'https://gateway.watsonplatform.net/personality-insights/api',
  17. username: process.env.PERSONALITY_INSIGHTS_USERNAME,
  18. password: process.env.PERSONALITY_INSIGHTS_PASSWORD,
  19. version: 'v2'
  20. });
  21.  
  22.  
  23. twitter.getUserTimeline({ screen_name: 'adele', count: '300'}, handleError, function(tweets) {
  24. personality_insights.profile(createContentItemsJson(tweets), function(error, response) {
  25. console.log(error ? "error", error : JSON.stringify(response, null, 2));
  26. })
  27. }
  28. );
  29.  
  30.  
  31. //Callback functions
  32. var handleError = function (err, response, body) {
  33. console.log('ERROR [%s]', err);
  34. return new Error(err);
  35. };
  36.  
  37. function createContentItemsJson(tweets){
  38. var jsonObj = JSON.parse(tweets);
  39. //console.log('twitter_helper: success function called with data.');
  40.  
  41. var keys = Object.keys(jsonObj);
  42.  
  43. var contentItemsJson = {
  44. "contentItems":[]
  45. };
  46.  
  47.  
  48. for (var i = 0; i < keys.length; i++) {
  49. tweet = jsonObj[i];
  50. var contentItem = {
  51. 'content': tweet.text.replace(/[^(\x20-\x7F)]*/g, ""),
  52. 'contenttype': 'text/plain',
  53. 'created': (new Date(tweet.created_at)).getTime()/1000.0,
  54. 'id': tweet.user.id,
  55. 'language': tweet.lang,
  56. 'reply': (tweet.in_reply_to_screen_name != null).toString(),
  57. 'forward': (typeof tweet.retweeted_status != 'undefined').toString()
  58. }
  59. contentItemsJson.contentItems.push(contentItem);
  60. }
  61.  
  62. return contentItemsJson;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement