首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Twit包在用户配置文件上发布推文

使用Twit包在用户配置文件上发布推文
EN

Stack Overflow用户
提问于 2020-04-18 01:09:38
回答 1查看 62关注 0票数 1

我正在尝试使用twit包为用户配置文件创建一条推文。这是我正在使用的代码。通过使用此代码,我可以向我的个人资料发送推文,因为我有access_tokenaccess_token_secret。我的问题是,如果我想发推文到其他人的个人资料。我不明白做这件事的程序是什么?我正在使用passport库来获取用户详细信息。

代码语言:javascript
复制
var Twit = require('twit');

var T = new Twit({
  consumer_key: '************',
  consumer_secret: '**********',
  access_token: '******************',
  access_token_secret: '******************',
  timeout_ms: 60 * 1000,  
  strictSSL: true,    
})


T.post('statuses/update', {status: 'hello world! '}, function(err, data, response) {
  console.log('post on ',data);
})

下面是我的护照验证码

代码语言:javascript
复制
'use strict';

require('dotenv').config();

const path = require('path');
const express = require('express');
const passport = require('passport');
const { Strategy } = require('passport-twitter');
const { TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, SESSION_SECRET } =  process.env;
const port = process.env.PORT || 3000;
const app = express();
const routes = require('./routes');

passport.use(new Strategy({
    consumerKey: TWITTER_CONSUMER_KEY,
    consumerSecret: TWITTER_CONSUMER_SECRET,
    callbackURL: '/return'
  },
  (token, tokenSecret, profile, cb) => {
    console.log(token);
    console.log(tokenSecret);
    console.log(profile);
        return cb(null, profile);
}));

passport.serializeUser((user, cb) => {
  cb(null, user);
});

passport.deserializeUser((obj, cb) => {
  cb(null, obj);
});

app.set('view engine', 'ejs');

app.use('/public', express.static(path.join(__dirname, 'public')));

app.use(require('express-session')({ secret: SESSION_SECRET, resave: true, saveUninitialized: true }));

app.use(passport.initialize());
app.use(passport.session());
app.use('/', routes);



app.listen(port);

另一个文件

代码语言:javascript
复制
'use strict';

const express = require('express');
const passport = require('passport');
const router = express.Router();

router.get('/', (req, res, next) => {
    const { user } = req;
    console.log('user details', req.user);
    // res.render('home', { user });
});

router.get('/login/twitter', passport.authenticate('twitter'));

router.get('/logout', (req, res, next) => {
  req.logout();
  res.redirect('/');
});

router.get('/return', 
  passport.authenticate('twitter', { failureRedirect: '/' }),
  (req, res, next) => {
    res.redirect('/');
});

module.exports = router;
EN

回答 1

Stack Overflow用户

发布于 2020-04-20 21:07:20

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61276992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档