簡體   English   中英

如何在沒有重定向的情況下獲取LinkedIn API訪問令牌

[英]How to get LinkedIn API access token without a redirect

我正在嘗試使用LinkedIn的API訪問大學的LinkedIn頁面,以定期收集他們有多少粉絲。 這似乎可行,但我似乎無法生成一個訪問令牌,而沒有一些奇怪的重定向URL,必須帶你到GUI登錄頁面!

我正在使用node.js,特別是這個包: https//www.npmjs.org/package/node-linkedin

我有一個API密鑰和秘密,所以我需要的是一個訪問令牌然后我將被設置為實際開始使用他們的API路由。

var Linkedin  = require('node-linkedin')('KEY', 'SECRET', 'callback');
var linkedin = Linkedin.init('my_access_token'); // need a token to initialise!

有任何想法嗎?

編輯:到目前為止,這是我的代碼:

var Linkedin  = require('node-linkedin')('KEY', 'SECRET', './oauth/linkedin/callback');

app.get('/oauth/linkedin', function(req, res) {
  // This will ask for permisssions etc and redirect to callback url.
  Linkedin.auth.authorize(res, ['r_basicprofile', 'r_fullprofile', 'r_emailaddress', 'r_network', 'r_contactinfo', 'rw_nus', 'rw_groups', 'w_messages']);
});

app.get('/oauth/linkedin/callback', function(req, res) {
  Linkedin.auth.getAccessToken(res, req.query.code, function(err, results) {
    if ( err )
        return console.error(err);

    /**
     * Results have something like:
     * {"expires_in":5184000,"access_token":". . . ."}
     */

    console.log(results);
    var linkedin  = Linkedin.init(result);
    return res.redirect('/');
  });
});

您要做的是僅應用程序身份驗證,似乎linkedIn已刪除此選項,不像Facebook和Twitter。 從現在開始,它只能作為用戶進行身份驗證。 如果你真的想跳過重定向,你可以使用像無頭瀏覽器PhantomJS這樣的東西。 但我強烈建議您不要這樣做,因為LinkedIn要求用戶在其許可協議中進行身份驗證。 我不知道它是否合法,但您可以為自己提供一個終點,用於生成authentication_code和access_token,然后將其保存到數據庫(默認情況下有效期為60天)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM