0
我試圖在節點應用中通過Twitter啓用oauth2登錄。我有我的Twitter帳戶,我被列入電子郵件白名單,已更改Twitter開發頁面上的設置(以便登錄時,用戶被告知我的應用可以訪問他們的電子郵件)。從node.js的Twitter請求用戶電子郵件
但用戶對象仍然不包含電子郵件條目。電子郵件是不同的請求,還是我錯過了什麼?我將把服務器代碼放在下面,並且可以根據需要啓動Web服務器,以防有人想看到控制檯輸出。
相關的代碼在我的server.js:
var express = require('express'),
request = require('request'),
path = require('path'),
fs = require('fs'),
bodyParser = require("body-parser");
var Twitter = require("node-twitter-api");
var app = express();
...
var twitter = new Twitter({
consumerKey: 'XXXXXXX',
consumerSecret: 'XXXXXX',
callback: 'http://thelionstestingjungle.com'});
var _requestSecret;
app.get("/tokenRequest", function(req, res) {
console.log('Token request');
twitter.getRequestToken(function(err, requestToken, requestSecret) {
if (err) {
console.log('Token request error');
res.status(500).send(err);
} else {
console.log('Request secret: ' + requestSecret);
_requestSecret = requestSecret;
res.redirect("https://api.twitter.com/oauth/authenticate?oauth_token=" + requestToken);
}
});});
app.get("/accessToken", function(req, res) {
console.log('Access token');
var requestToken = req.query.oauth_token,
verifier = req.query.oauth_verifier;
twitter.getAccessToken(requestToken, _requestSecret, verifier, function(err, accessToken, accessSecret) {
if (err) {
console.log('Get info error');
res.status(500).send(err);
} else {
twitter.verifyCredentials(accessToken, accessSecret, function(err, user) {
if (err) {
console.log('Verification in get info error');
res.status(500).send(err);
} else {
console.log('User: ' + JSON.stringify(user));
res.send(user);
}
});
}
});});
...
我這樣做的驗證憑據,我沒有得到電子郵件 任何想法爲什麼? – Erez
它只是電子郵件,你錯過了,你是否包括參數,正確拼寫的關鍵?我幾個月沒有和Node合作過,所以你可能想創建自己的票。 – dylanthelion
管理它,但謝謝 – Erez