[英]Unable to get Tumblr API OAuth Request token in Nodejs
我很難通過Node連接到Tumblr API。 它甚至沒有向我顯示request_tokens讓我繼續
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);
}
}
);
我的console.log語句的輸出是:{}
對於所謂的authorization_code
授予類型(Web應用程序OAuth流),最好使用僅包含裸oauth
模塊的更復雜的東西。
您可以使用Grant ,這是Express,Koa和Hapi的OAuth中間件,它也支持Tumblr。
因此,基本上您的代碼可能看起來像這樣(如果您使用的是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應用中的redirect_uri
,您應該設置http://localhost:3000/connect/tumblr/callback
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.