twitter-controller.js
2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
const Twitter = require('twitter');
const client = new Twitter({
consumer_key: 'Q4xyL4HBupStqkUf3FaKeDlSL',
consumer_secret: 'xB9ROWLAPlPW7tntBUsFgVZd9qcaCSDDAo5fFCH1qWg7oAwJLO',
access_token_key: '1330868660072660992-0l3jauBmdEP16hXPviH5W1DMS46X9B',
access_token_secret: 'jx5xtDHam5SUTSndp7uVqsTpbSJiD4OIKL8IYKg1ZtTSZ'
});
exports.getUserTweets = async function(req, res){
try{
let data = client.get('statuses/user_timeline', req.params, function(error,tweets,response){ //트위터 api에서 유저의 타임라인을 가져옴 req.params에 유저 아이디가 들어있음
if(!error){
console.log(tweets); //가져온 타임라인 내용 콘솔창에 출력
res.render('timeline.html',{tweets}); //timeline.html 화면에 뿌려줌 그리고 tweets값을 저 페이지로 보냄
}
}); //아이디를 토대로 타임라인 가져오기
}catch(err){ //에러 발생하면 실행
console.log(err);
res.sendStatus(500);
}
}
//찾고싶은 게시물내용검색
exports.getUserSearch = async function(req, res){
try{
let searchdata= client.get('search/tweets', {q: 'now' }, function(error, tweets2, response) {//search
if(!error){
console.log(tweets2);
res.render('timeline.html',{tweets2});
}
});//입력값 바꿀 필요 있음(?)
}catch(err){
console.log(err);
res.sendStatus(500);
}
}
//인기있는 게시물(리트윗)!
exports.getUserRetweet = async function(req, res){
try{
let retweetdata = client.get('statuses/user_timeline', req.params, function(error, tweets3, response) {
if(!error){
tweets3.sort(function(a,b){
return b.retweet_count-a.retweet_count;
});//리트윗 data 내림차순로 정렬(?)
console.log(tweets3);
res.render('popular.html',{tweets3});
}
});
}catch(err){
console.log(err);
res.sendStatus(500);
}
}