Created
July 16, 2012 10:19
-
-
Save diorahman/3121957 to your computer and use it in GitHub Desktop.
Test Timeline
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var _ = require('lodash') | |
var request = require('request') | |
var async = require('async') | |
var db = require('./config/connection') | |
var QUERY_TOKENS = "SELECT token_fb, token_twitter, token_secret_twitter, token_gplus FROM sns_hub_users WHERE token_sns = ? " | |
function timeline(params, cb){ | |
function facebook(token, callback){ | |
var URL = 'https://graph.facebook.com/me/home?limit=10&access_token=' | |
request(URL + token, function(a, b, c){ | |
callback(a, JSON.parse(c.split('created_time').join('created_at'))) | |
}) | |
} | |
function twitter(token, secret, callback){ | |
var oauth = { | |
consumer_key: 'OBpbWXoOCGMScvQ3J2AiMg', | |
consumer_secret: 'cTr2WS4iKykYPeFVam6QHijrAQv5cmUkJeLBYXKQ4', | |
token : token, | |
token_secret : secret | |
} | |
var options = { | |
url : 'https://api.twitter.com/1/statuses/home_timeline.json?include_entities=false&count=10', | |
oauth : oauth, | |
method : 'GET' | |
} | |
request(options, function(a, b, c){ | |
callback(a, JSON.parse(c)) | |
}) | |
} | |
function token(params, clbk){ | |
// get data from mysql | |
db.query(QUERY_TOKENS, [params.tokenSns], function(err, results){ | |
try{ | |
if(results.length <= 0){ | |
clbk({code:'Not found', message : 'Tokens Not found'}) | |
} | |
else { | |
/* | |
var facebook_token = 'AAAFri5eE2DYBAL8NtI11VrQ6Y8iH9EXFRJZB827yy18GZAhSt7Nsjcaa5sX5YlOeTcQ15rOOnH21uyKwNM01NipsAf0hwDrrqHyhi3AQZDZD' | |
var twitter_token = '560472203-3bTggLOJMPnJzzlEZNN6c1JdP9RdGwEtHs1sE0zK' | |
var twitter_token_secret = 'Q0Lh9y2Yufr8ZaRKVBGCd1ZTMx3R2wGQi7NqZs5E' | |
var gplus_token = 'ya29.AHES6ZQQWdo35F2TuiXzAFo7QYC76k44tgw1m0SzLVHEq8A' | |
if(!params.dummy){ | |
var tokens = results[0] | |
twitter_token = tokens.token_twitter | |
twitter_token_secret = tokens.token_secret_twitter | |
facebook_token = tokens.token_fb | |
gplus_token = tokens.token_gplus | |
}*/ | |
var tokens = results[0] | |
var twitter_token = tokens.token_twitter | |
var twitter_token_secret = tokens.token_secret_twitter | |
var facebook_token = tokens.token_fb | |
var gplus_token = tokens.token_gplus | |
async.parallel([ | |
function(callback){ | |
if(facebook_token) facebook(facebook_token, callback) | |
else callback(null, []) | |
}, | |
function(callback){ | |
if(twitter_token) twitter(twitter_token, twitter_token_secret, callback) | |
else callback(null, []) | |
}, | |
], | |
function(err, results){ | |
var arr = _.union(results[0].data, results[1]) | |
var wall = _.sortBy(arr, function(t){ console.log(new Date(t.created_at).getTime()); return -(new Date(t.created_at).getTime())}) | |
clbk(null, wall) | |
}); | |
} | |
} | |
catch(err){clbk(err)} | |
}) | |
} | |
token(params, cb) | |
} | |
// server | |
var express = require('express') | |
var server = express.createServer() | |
server.get('/timeline', function(req, res){ | |
console.log(req.query) | |
timeline({tokenSns: 'fCfYufFGJPoZr_8i'}, function(err, wall){ | |
res.send(wall) | |
}) | |
}) | |
server.listen(9119) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment