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

标签 javascript api node.js linkedin-api

我在连接到 Linkedin 以及从中拉出连接时遇到问题。我必须使用 nodejsexpress,并且正在使用 linkedin-js 客户端 (https://github.com/masylum/linkedin-js)。我到处寻找示例,但仍然不太明白如何执行“get”调用并在页面上显示用户连接。当我使用“render”时出现错误,但是当我尝试使用“send”时,我发现 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");

最佳答案

在第二行中,将“API Key”和“Secret Key”替换为您自己的 https://www.linkedin.com/secure/developer :

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

关于javascript - 尝试使用 Node.js Express 连接到 LinkedIn API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14018103/

相关文章:

javascript - JavaScript 的简单(非安全)哈希函数?

javascript - 如何获取子 ng-repeat 内父作用域数组/ng-repeat 的索引

python - LinkedIn 网络外 API 调用返回 "unauthorized"错误

javascript - 在重新启动和关闭之前,通过 API 调用在 Electron 中处理操作系统重新启动和关闭

node.js - Sequelize count fn 添加 where 子句

javascript - JQuery - 将选定的元素一起添加 - 组合子选择器

javascript - 如何使用 'prototype' 函数正确编码 javascript 属性和方法?

laravel - 通过 header 而不是查询参数发送 api_token

asp.net - 用于解析美国邮政地址的免费 API?

javascript - 复制内容并带上url