Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Node.Js中提取Twitter API用户时间线_Javascript_Node.js_Twitter_Twitter Oauth - Fatal编程技术网

Javascript 在Node.Js中提取Twitter API用户时间线

Javascript 在Node.Js中提取Twitter API用户时间线,javascript,node.js,twitter,twitter-oauth,Javascript,Node.js,Twitter,Twitter Oauth,我目前使用node.js模块,虽然它工作得很好,但我有一个问题 我希望能够提取我的应用程序的授权用户发出的推文。当我使用twit模块在Twitter上进行授权时,我会发送以下数据: var T = new Twit({ consumer_key: 'xxxx' , consumer_secret: 'xxxx' , access_token: 'xxxx' , access_token_secret: 'xxxx' })

我目前使用node.js模块,虽然它工作得很好,但我有一个问题

我希望能够提取我的应用程序的授权用户发出的推文。当我使用twit模块在Twitter上进行授权时,我会发送以下数据:

var T = new Twit({
    consumer_key:         'xxxx'
    , consumer_secret:      'xxxx'
    , access_token:         'xxxx'
    , access_token_secret:  'xxxx'
});
假设我通过passport模块或类似模块授权该用户-我需要替换上面的哪些数据才能得到我想要的结果


谢谢大家!

登录twitter,转到dev.twitter.com,找到“管理你的应用”链接。它会将你重定向到apps.twitter.com,在那里你会找到“创建新应用”按钮,单击它,然后填写表单。创建应用程序后,转到您创建的应用程序,转到“密钥和访问令牌”选项卡,然后单击“生成消费者密钥和密钥”,现在复制“消费者密钥”“消费者密钥”“访问令牌”“访问令牌密钥”并输入您的代码

如果您使用passport身份验证,请使用以下代码获取登录用户的“访问令牌”和“访问令牌密码”

我假设您已经是passport模块,所以您可以自己管理其余的代码

var mongoose = require('mongoose'),
    Schema = mongoose.Schema;

var TWITTER_CONSUMER_KEY = "your consumer key got from above steps";
var TWITTER_CONSUMER_SECRET = "your consumer key secret got from above steps ";

var UserSchema = new Schema({
provider: String,
uid: String,
name: String,
image: String,
token: String,
tokenSecret: String,
created: {type: Date, default: Date.now}
});

mongoose.connect(mongooseConnectionString);
mongoose.model('User', UserSchema);

var User = mongoose.model('User');

passport.use(new TwitterStrategy({
consumerKey: TWITTER_CONSUMER_KEY,
consumerSecret: TWITTER_CONSUMER_SECRET,
callbackURL: twitterCallBackUrl
},
function(token, tokenSecret, profile, done) {
User.findOne({uid: profile.id}, function(err, user) { //check if the user profile is already     present in the database
  if(user) { //if profilie is already present then do nothing
    done(null, user);
  } else {  //else save user profile and tokens in the database
    var user = new User();
    user.provider = "twitter";
    user.uid = profile.id;
    user.name = profile.displayName;
    user.image = profile._json.profile_image_url;
    user.token = token;
    user.tokenSecret = tokenSecret;
    user.save(function(err) {
      if(err) { throw err; }
      done(null, user);
     });
   }
  })
 }
));