Node.js 无法在Nodejs中获取Tumblr API OAuth请求令牌
我很难通过Node连接到tumblrapi。 它甚至没有给我看请求令牌,让我继续Node.js 无法在Nodejs中获取Tumblr API OAuth请求令牌,node.js,oauth,tumblr,Node.js,Oauth,Tumblr,我很难通过Node连接到tumblrapi。 它甚至没有给我看请求令牌,让我继续 var OAuth = require('oauth').OAuth var oa = new OAuth( "http://www.tumblr.com/oauth/request_token", "http://www.tumblr.com/oauth/access_token", tumblrClientId, tumblrClientSecret, "1.0A", tumblrCal
var OAuth = require('oauth').OAuth
var oa = new OAuth(
"http://www.tumblr.com/oauth/request_token",
"http://www.tumblr.com/oauth/access_token",
tumblrClientId,
tumblrClientSecret,
"1.0A",
tumblrCallback,
"HMAC-SHA1"
);
oa.getOAuthRequestToken(
function(error, oauth_token, oauth_token_secret, results) {
if (error) {
console.log(error);
res.send("Authentication Failed!");
}
else {
data = {
token: oauth_token,
token_secret: oauth_token_secret
};
console.log("OAuthToken"+data.oauth_token);
console.log("OAuthTokenSecret"+data.oauth_token_secret);
}
}
);
my console.log语句的输出为:
{}对于所谓的authorization\u code grant类型的web app OAuth流,最好使用比裸OAuth模块更复杂的东西
可以使用哪个是OAuthTebug中间件,用于支持Express、膝关节炎和HAPI,并且支持TUBLR。
因此,在使用Express的情况下,基本上您的代码可能如下所示:
var express = require('express')
, session = require('express-session')
var Grant = require('grant-express')
, grant = new Grant({
server:{host:'localhost:3000', protocol:'http'}
tumblr:{
key:'[CONSUMER_KEY]',
secret:'[CONSUMER_SECRET]',
callback:'/handle_tumblr_callback'
}
})
var app = express()
app.use(session({secret:'keyboard cat'}))
// mount grant
app.use(grant)
// other middlewares ...
对于OAuth应用程序中的重定向uri,您应该设置http://localhost:3000/connect/tumblr/callback
关于OAuth以及如何使用Grant有一个大致的概念。可以找到更多的例子