如何在Node中发送OAuth请求

时间:2012-10-13 13:16:03

标签: node.js oauth module

我想访问node.js中的WS REST API。我有oauth_consumer_keyoauth_token以及API终点。 oauth_signature_method是HMAC-SHA1。

如何在Node中发送OAuth请求?

是否有用于生成请求标头的模块/库?我期望的功能如下:

var httprequest = createRequest(url, method, consumer_key, token);

  • 更新10/14/2012。添加解决方案。

我正在使用以下代码。

var OAuth = require('oauth').OAuth;

consumer = new OAuth('http://term.ie/oauth/example/request_token.php',
                    'http://term.ie/oauth/example/access_token.php',
                    'key', 'secret', '1.0',
                    null, 'HMAC-SHA1');

// Get the request token                    
consumer.getOAuthRequestToken(function(err, oauth_token, oauth_token_secret, results ){
    console.log('==>Get the request token');
    console.log(arguments);
});


// Get the authorized access_token with the un-authorized one.
consumer.getOAuthAccessToken('requestkey', 'requestsecret', function (err, oauth_token, oauth_token_secret, results){
    console.log('==>Get the access token');
    console.log(arguments);
});

// Access the protected resource with access token
var url='http://term.ie/oauth/example/echo_api.php?method=foo&bar=baz';
consumer.get(url,'accesskey', 'accesssecret', function (err, data, response){
    console.log('==>Access the protected resource with access token');
    console.log(err);
    console.log(data);
});

2 个答案:

答案 0 :(得分:9)

答案 1 :(得分:0)

这是一个完整的节点twitter包,看似简化和有用。 https://npmjs.org/package/twitter