簡體   English   中英

嘗試使用Node.js Express連接到LinkedIn API

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

我在連接到Linkedin和從Linkedin拔出連接時遇到問題。 我必須使用nodejsexpress ,並且正在使用linkedin-js客戶端( https://github.com/masylum/linkedin-js )。 我到處都在尋找示例,但仍然不太了解如何進行“獲取”調用並在頁面上顯示用戶連接。 使用“渲染”時出現錯誤,但是當嘗試使用“發送”時,發現API調用仍然無法正常工作。 任何人的幫助和解釋將不勝感激! 到目前為止,這就是我所擁有的。

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");

在第二行,從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