Skip to content

Instantly share code, notes, and snippets.

@KOBA789
Created December 30, 2011 15:50
Show Gist options
  • Save KOBA789/1540379 to your computer and use it in GitHub Desktop.
Save KOBA789/1540379 to your computer and use it in GitHub Desktop.
OAuth-Revenge Example
// [EDIT]========================================[EDIT]
var consumer = {
key: 'YOUR CONSUMER KEY',
secret: 'YOUR CONSUMER SECRET'
};
// [EDIT]========================================[EDIT]
var rl = require('readline');
var i = rl.createInterface(process.stdin, process.stdout, null);
var querystring = require('querystring');
var oauth = require('oauth-revenge');
var signer = oauth.createHmac(consumer);
var client = oauth.createClient(signer);
client.POST('https://api.twitter.com/oauth/request_token', function (res) {
res.setEncoding('utf8');
var buffer = '';
res.on('data', function (data) {
buffer += data;
});
res.on('end', function () {
var parsed = querystring.parse(buffer);
var reqToken = { token: parsed.oauth_token, tokenSecret: parsed.oauth_token_secret };
var signer2 = oauth.createHmac(consumer, reqToken);
var client2 = oauth.createClient(signer2);
console.log('Access to this url in your browser. "https://api.twitter.com/oauth/authorize?oauth_token=' + reqToken.token + '"');
i.question("Enter the verifier: ", function(answer) {
var verifier = answer;
process.stdin.pause();
client2.POST('https://api.twitter.com/oauth/access_token', { oauth_verifier: verifier }, function (res) {
res.setEncoding('utf8');
var buffer = '';
res.on('data', function (data) {
buffer += data;
});
res.on('end', function () {
var parsed = querystring.parse(buffer);
var accToken = { token: parsed.oauth_token, tokenSecret: parsed.oauth_token_secret };
var signer3 = oauth.createHmac(consumer, accToken);
var client3 = oauth.createClient(signer3);
client3.POST('https://api.twitter.com/statuses/update.json', { status: 'はろーはろー from api' }, function (res) {
res.setEncoding('utf8');
res.on('data', function (data) {
console.log(data);
});
});
});
});
i.close();
process.stdin.destroy();
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment