Attempt at Twitter stream
This commit is contained in:
parent
ec69a8131e
commit
d545fbe636
3 changed files with 35 additions and 22 deletions
|
@ -1,5 +1,7 @@
|
|||
{
|
||||
"consumer_key": "YA81ymunCwWtR70RAbAoB0cI9",
|
||||
"consumer_secret": "UHXVsekoKHfxXKF8F2XTwU1tRnBehEXdGdiagG5vmOrYwQ4XQ0",
|
||||
"bearer_token": "AAAAAAAAAAAAAAAAAAAAAPGt%2FAAAAAAAjClTrCrCaoDcYm7qA8JO1nZRyVw%3DFiCU52eslsY38dl0Dsx8puUpXbtmck66niH16ewBWlUZ1hPzkL"
|
||||
"bearer_token": "AAAAAAAAAAAAAAAAAAAAAPGt%2FAAAAAAAjClTrCrCaoDcYm7qA8JO1nZRyVw%3DFiCU52eslsY38dl0Dsx8puUpXbtmck66niH16ewBWlUZ1hPzkL",
|
||||
"access_token_key": "3075441796-r4uYkCYTx8gyGL6OLkkMMCakibunl447QbDKu9n",
|
||||
"access_token_secret": "JW8RG7yUlWbNpZuqFHQzm0v5nWkQeN8ihtf824f0cLnzV"
|
||||
}
|
||||
|
|
|
@ -12,6 +12,13 @@ let client = new Twitter({
|
|||
bearer_token: config.bearer_token
|
||||
})
|
||||
|
||||
let streamClient = new Twitter({
|
||||
consumer_key: config.consumer_key,
|
||||
consumer_secret: config.consumer_secret,
|
||||
access_token_key: config.access_token_key,
|
||||
access_token_secret: config.access_token_secret
|
||||
})
|
||||
|
||||
// MARK: Routes
|
||||
// MARK: - /twitter
|
||||
router.get('/twitter', (req, res) => {
|
||||
|
@ -34,20 +41,21 @@ router.get('/twitter', (req, res) => {
|
|||
|
||||
// MARK: - /stream
|
||||
router.get('/stream', (req, res) => {
|
||||
client.stream('search/tweets', {q: req.query.hashtag, count: 5}, function(error, tweets, response) {
|
||||
if (error === null) {
|
||||
streamClient.stream('statuses/filter', {track: req.query.hashtag}, function(stream) {
|
||||
stream.on('data', function(tweet) {
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
message: tweets
|
||||
})
|
||||
}
|
||||
else {
|
||||
})
|
||||
|
||||
stream.on('error', function(error) {
|
||||
console.log('Error ' + JSON.stringify(error, 0, 2))
|
||||
res.status(400).json({
|
||||
success: false,
|
||||
message: error
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ export default function* watcherSaga() {
|
|||
])
|
||||
}
|
||||
|
||||
// Data worker
|
||||
function* worker() {
|
||||
yield takeEvery("DATA_REQUESTED", workerSaga)
|
||||
}
|
||||
|
@ -21,8 +22,15 @@ function* workerSaga() {
|
|||
}
|
||||
}
|
||||
|
||||
function getData() {
|
||||
return fetch("https://jsonplaceholder.typicode.com/posts").then(response =>
|
||||
response.json()
|
||||
)
|
||||
}
|
||||
|
||||
// Hillary worker
|
||||
function* workerHillary() {
|
||||
yield takeEvery("DATA_TRUMP_REQUESTED", workerTrumpSaga)
|
||||
yield takeEvery("DATA_HILLARY_REQUESTED", workerHillarySaga)
|
||||
}
|
||||
|
||||
function* workerHillarySaga() {
|
||||
|
@ -34,8 +42,15 @@ function* workerHillarySaga() {
|
|||
}
|
||||
}
|
||||
|
||||
function getHillaryData() {
|
||||
return fetch("http://localhost:3030/api/twitter?hashtag=Hillary%20Clinton").then(response =>
|
||||
response.json()
|
||||
)
|
||||
}
|
||||
|
||||
// Trump worker
|
||||
function* workerTrump() {
|
||||
yield takeEvery("DATA_HILLARY_REQUESTED", workerHillarySaga)
|
||||
yield takeEvery("DATA_TRUMP_REQUESTED", workerTrumpSaga)
|
||||
}
|
||||
|
||||
function* workerTrumpSaga() {
|
||||
|
@ -47,20 +62,8 @@ function* workerTrumpSaga() {
|
|||
}
|
||||
}
|
||||
|
||||
function getData() {
|
||||
return fetch("https://jsonplaceholder.typicode.com/posts").then(response =>
|
||||
function getTrumpData() {
|
||||
return fetch("http://localhost:3030/api/twitter?hashtag=Donald%20Trump").then(response =>
|
||||
response.json()
|
||||
)
|
||||
}
|
||||
|
||||
function getHillaryData() {
|
||||
return fetch("http://localhost:3030/api/twitter?hashtag=Hillary%20Clinton").then(res1 =>
|
||||
res1.json()
|
||||
)
|
||||
}
|
||||
|
||||
function getTrumpData() {
|
||||
return fetch("http://localhost:3030/api/twitter?hashtag=Donald%20Trump").then(res1 =>
|
||||
res1.json()
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue