Created
December 30, 2011 15:50
-
-
Save KOBA789/1540379 to your computer and use it in GitHub Desktop.
OAuth-Revenge Example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // [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