简体   繁体   English

尝试使用Node.js Express连接到LinkedIn API

[英]Trying to connect to LinkedIn API with Node.js Express

I'm having trouble connecting to, and pulling connections from, Linkedin . 我在连接到Linkedin和从Linkedin拔出连接时遇到问题。 I have to use nodejs and express , and am using the linkedin-js client ( https://github.com/masylum/linkedin-js ). 我必须使用nodejsexpress ,并且正在使用linkedin-js客户端( https://github.com/masylum/linkedin-js )。 I have looked everywhere for examples and still don't quite understand how to do the "get" call and display a users connections on the page. 我到处都在寻找示例,但仍然不太了解如何进行“获取”调用并在页面上显示用户连接。 I'm getting an error when I use "render", but when I try to use "send" instead, I find that the API call isn't working anyways. 使用“渲染”时出现错误,但是当尝试使用“发送”时,发现API调用仍然无法正常工作。 Anyone's help and explanation would be greatly appreciated! 任何人的帮助和解释将不胜感激! Here's what I have so far. 到目前为止,这就是我所拥有的。

var express = require('express')
, linkedin_client = require('linkedin-js')('xxx', 'xxx', 'http://localhost:3003/')
, app = express();

app.configure(function(){

app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/'));
app.use(express.cookieParser());
app.use(express.session({ secret: "string" }));  
});
app.get('/', function (req, res) {
// the first time will redirect to linkedin
 linkedin_client.getAccessToken(req, res, function (error, token) {
// will enter here when coming back from linkedin
req.session.token = token;


 linkedin_client.apiCall('GET', '/people/~/connections:(headline,first-name,last-name)',
{
  token: {
    oauth_token_secret: req.session.token.oauth_token_secret
  , oauth_token: req.session.token.oauth_token
  }
, fields: req.param('id')//not sure?
}
, function (error, result) {
  res.send('message_sent');
}
);
//res.render('auth');  I'm getting an error here as well
});
});



app.post('/message', function (req, res) {
linkedin_client.apiCall('POST', '/people/~/shares',
{
  token: {
    oauth_token_secret: req.session.token.oauth_token_secret
  , oauth_token: req.session.token.oauth_token
  }
, share: {
    comment: req.param('message')
  , visibility: {code: 'anyone'}
  }
}
, function (error, result) {
  res.render('message_sent');
}
);
});





app.listen(3003);
console.log("Listening");

On the second line replace the 'API Key' and 'Secret Key' with your own from https://www.linkedin.com/secure/developer : 在第二行,从https://www.linkedin.com/secure/developer用您自己的“ API密钥”和“秘密密钥”替换:

 var express = require('express'), linkedin_client = require('linkedin-js')('API Key', 'Secret Key', 'http://localhost:3003/'), bodyParser = require('body-parser'), cookieParser = require('cookie-parser'), methodOverride = require('method-override'), session = require('express-session'), app = express(); app.use(bodyParser.json()); //basic app set up app.use(bodyParser.urlencoded({extended: true})); app.use(methodOverride()); app.use(express.static(__dirname + '/')); app.use(cookieParser()); app.use(session({secret: 'secret', saveUninitialized: true, resave: true})); //session stuff app.get('/', function (req, res) { // the first time will redirect to linkedin linkedin_client.getAccessToken(req, res, function (error, token) { // will enter here when coming back from linkedin req.session.token = token; linkedin_client.apiCall('GET', '/people/~/connections:(headline,first-name,last-name)', { token: { oauth_token_secret: req.session.token.oauth_token_secret , oauth_token: req.session.token.oauth_token } , fields: req.param('id')//not sure? } , function (error, result) { res.send(result); } ); }); }); app.post('/message', function (req, res) { linkedin_client.apiCall('POST', '/people/~/shares', { token: { oauth_token_secret: req.session.token.oauth_token_secret , oauth_token: req.session.token.oauth_token } , share: { comment: req.param('message') , visibility: {code: 'anyone'} } } , function (error, result) { res.render('message_sent'); } ); }); app.listen(3003); console.log("Listening"); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM