Skip to content

Instantly share code, notes, and snippets.

@ahirel
Created October 18, 2018 09:20
Show Gist options
  • Save ahirel/22ddec7cc53f2f16701a39454d17efa8 to your computer and use it in GitHub Desktop.
Save ahirel/22ddec7cc53f2f16701a39454d17efa8 to your computer and use it in GitHub Desktop.
var express = require('express')
var app = express();
var http = require('http');
var GetPocket = require('node-getpocket');
var request_token
var config = {
consumer_key: '81214-aa081784c7c0edcd72210b07',
redirect_uri: 'http://localhost:3000/redirect'
};
var pocket = new GetPocket(config);
var params = {
redirect_uri: config.redirect_uri
};
pocket.getRequestToken(params, function(err, resp, body) {
if (err) {
console.log('Oops; getTokenRequest failed: ' + err);
}
else {
// your request token is in body.code
var json = JSON.parse(body);
request_token = json.code;
console.log(request_token);
}
});
app.get('/', function (req, res) {
var url = pocket.getAuthorizeURL({
consumer_key: config.consumer_key,
redirect_uri : config.redirect_uri,
request_token: request_token
})
res.redirect(url);
});
app.get('/redirect', function(req,res) {
var params = {
request_token: request_token
};
pocket.getAccessToken(params, function(err, resp, body) {
if (err) {
console.log('Oops; getTokenRequest failed: ' + err);
}
else {
if(body === '403 Forbidden') return res.send('Outdated')
var json = JSON.parse(body);
var access_token = json.access_token;
let conf = {
consumer_key: config.consumer_key,
access_token: access_token
};
pocket.refreshConfig(conf);
var p = {
consumer_key: config.consumer_key,
access_token: access_token,
state: 'all'
}
pocket.get(p, function(err, resp) {
// check err or handle the response
if(err) { return res.send(err) }
let list = resp.list
let articles = []
for(let article in list) {
articles.push(list[article].resolved_url)
}
return res.json({articles: articles})
});
}
});
})
app.listen(3000, function () { console.log('Example app listening on port 3000!') })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment