Skip to content

Instantly share code, notes, and snippets.

@vhogemann
Created March 13, 2019 06:52
Show Gist options
  • Save vhogemann/5fde8ffddb6c1aa450fb21a272941cb5 to your computer and use it in GitHub Desktop.
Save vhogemann/5fde8ffddb6c1aa450fb21a272941cb5 to your computer and use it in GitHub Desktop.
//@ts-check
const fs = require("fs");
const axios = require("axios").default;
let bearerToken = process.env.TWITTER_BEARER_TOKEN;
const headers = { 'Authorization': `Bearer ${bearerToken}` };
const client = axios.create({baseURL : 'https://api.twitter.com/1.1/tweets/search/', headers : headers})
let getTweets = next => {
console.log('Loading ... ' + (next ? next : ''))
return client.post('fullarchive/dev.json',
{
query : 'from:alefrotabrasil @zehdeabreu Abreu',
next : next
})
.then(response => {
if(response.data.results){
response.data.results.forEach( tweet => {
let json = JSON.stringify(tweet);
fs.writeFileSync( `${__dirname}/tweets/${ tweet.id }.json`, json );
});
}
if(response.data.next){
console.log('waiting for 10s ...')
var waitTill = new Date(new Date().getTime() + 10 * 1000);
while(waitTill > new Date()){}
return getTweets(response.data.next);
}
})
.catch(error => {
console.log(error);
});
};
getTweets(undefined)
.then(() => console.log('finished'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment