最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

带有Twitter Oauth的Node JS

IT培训 admin 13浏览 0评论

带有Twitter Oauth的Node JS

我是Node JS的初学者,我正在尝试使用它在twitter上进行连接。我在E:/目录中有一个js文件,但是我不知道该创建模块文件夹还是下面的代码]

    var express = require('express');
var sys = require('sys');
var oauth = require('oauth');

var app = express.createServer();

var _twitterConsumerKey = "****SECRET****";
var _twitterConsumerSecret = "****SECRET****";

function consumer() {
  return new oauth.OAuth(
    "", "", 
    _twitterConsumerKey, _twitterConsumerSecret, "1.0A", "", "HMAC-SHA1");   
}

app.configure('development', function(){
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
  app.use(express.logger());
  app.use(express.cookieDecoder());
  app.use(express.session());
});

app.dynamicHelpers({
  session: function(req, res){
    return req.session;
  }
});

app.get('/', function(req, res){
  res.send('Hello World');
});

app.get('/sessions/connect', function(req, res){
  consumer().getOAuthRequestToken(function(error, oauthToken, oauthTokenSecret, results){
    if (error) {
      res.send("Error getting OAuth request token : " + sys.inspect(error), 500);
    } else {  
      req.session.oauthRequestToken = oauthToken;
      req.session.oauthRequestTokenSecret = oauthTokenSecret;
      res.redirect("="+req.session.oauthRequestToken);      
    }
  });
});

app.get('/sessions/callback', function(req, res){
  sys.puts(">>"+req.session.oauthRequestToken);
  sys.puts(">>"+req.session.oauthRequestTokenSecret);
  sys.puts(">>"+req.query.oauth_verifier);
  consumer().getOAuthAccessToken(req.session.oauthRequestToken, req.session.oauthRequestTokenSecret, req.query.oauth_verifier, function(error, oauthAccessToken, oauthAccessTokenSecret, results) {
    if (error) {
      res.send("Error getting OAuth access token : " + sys.inspect(error) + "["+oauthAccessToken+"]"+ "["+oauthAccessTokenSecret+"]"+ "["+sys.inspect(results)+"]", 500);
    } else {
      req.session.oauthAccessToken = oauthAccessToken;
      req.session.oauthAccessTokenSecret = oauthAccessTokenSecret;
      // Right here is where we would write out some nice user stuff
      consumer.get(".json", req.session.oauthAccessToken, req.session.oauthAccessTokenSecret, function (error, data, response) {
        if (error) {
          res.send("Error getting twitter screen name : " + sys.inspect(error), 500);
        } else {
          req.session.twitterScreenName = data["screen_name"];    
          res.send('You are signed in: ' + req.session.twitterScreenName)
        }  
      });  
    }
  });
});

app.listen(parseInt(process.env.PORT || 80));

但是它在运行时给我这个错误说:

module.js:340
    throw err;
          ^
Error: Cannot find module 'express'
    at Function.Module._resolveFilename (module.js
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (E:\hello.js:1:77)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:47
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
回答如下:

看起来像快递没有正确安装。在您的项目目录中,尝试sudo npm install express它应该创建一个node_modules文件夹并向其中添加express模块​​。

进一步建议将passport中间件用于身份验证策略。

带有Twitter Oauth的Node JS

我是Node JS的初学者,我正在尝试使用它在twitter上进行连接。我在E:/目录中有一个js文件,但是我不知道该创建模块文件夹还是下面的代码]

    var express = require('express');
var sys = require('sys');
var oauth = require('oauth');

var app = express.createServer();

var _twitterConsumerKey = "****SECRET****";
var _twitterConsumerSecret = "****SECRET****";

function consumer() {
  return new oauth.OAuth(
    "", "", 
    _twitterConsumerKey, _twitterConsumerSecret, "1.0A", "", "HMAC-SHA1");   
}

app.configure('development', function(){
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
  app.use(express.logger());
  app.use(express.cookieDecoder());
  app.use(express.session());
});

app.dynamicHelpers({
  session: function(req, res){
    return req.session;
  }
});

app.get('/', function(req, res){
  res.send('Hello World');
});

app.get('/sessions/connect', function(req, res){
  consumer().getOAuthRequestToken(function(error, oauthToken, oauthTokenSecret, results){
    if (error) {
      res.send("Error getting OAuth request token : " + sys.inspect(error), 500);
    } else {  
      req.session.oauthRequestToken = oauthToken;
      req.session.oauthRequestTokenSecret = oauthTokenSecret;
      res.redirect("="+req.session.oauthRequestToken);      
    }
  });
});

app.get('/sessions/callback', function(req, res){
  sys.puts(">>"+req.session.oauthRequestToken);
  sys.puts(">>"+req.session.oauthRequestTokenSecret);
  sys.puts(">>"+req.query.oauth_verifier);
  consumer().getOAuthAccessToken(req.session.oauthRequestToken, req.session.oauthRequestTokenSecret, req.query.oauth_verifier, function(error, oauthAccessToken, oauthAccessTokenSecret, results) {
    if (error) {
      res.send("Error getting OAuth access token : " + sys.inspect(error) + "["+oauthAccessToken+"]"+ "["+oauthAccessTokenSecret+"]"+ "["+sys.inspect(results)+"]", 500);
    } else {
      req.session.oauthAccessToken = oauthAccessToken;
      req.session.oauthAccessTokenSecret = oauthAccessTokenSecret;
      // Right here is where we would write out some nice user stuff
      consumer.get(".json", req.session.oauthAccessToken, req.session.oauthAccessTokenSecret, function (error, data, response) {
        if (error) {
          res.send("Error getting twitter screen name : " + sys.inspect(error), 500);
        } else {
          req.session.twitterScreenName = data["screen_name"];    
          res.send('You are signed in: ' + req.session.twitterScreenName)
        }  
      });  
    }
  });
});

app.listen(parseInt(process.env.PORT || 80));

但是它在运行时给我这个错误说:

module.js:340
    throw err;
          ^
Error: Cannot find module 'express'
    at Function.Module._resolveFilename (module.js
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (E:\hello.js:1:77)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:47
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
回答如下:

看起来像快递没有正确安装。在您的项目目录中,尝试sudo npm install express它应该创建一个node_modules文件夹并向其中添加express模块​​。

进一步建议将passport中间件用于身份验证策略。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论