2014-11-18 24 views
6

Sto cercando di utilizzare l'API di LinkedIn per accedere alle pagine di LinkedIn dell'Università per raccogliere periodicamente quanti follower hanno. Sembra fattibile, ma non riesco a generare un token di accesso senza avere uno strano URL di reindirizzamento che deve portarti a una pagina di accesso alla GUI!Come ottenere token di accesso all'API di LinkedIn senza reindirizzamento

sto usando node.js per questo, in particolare questo pacchetto: https://www.npmjs.org/package/node-linkedin

ho una chiave API e segreto, quindi tutto quello che serve è un token di accesso, allora sarò impostato per l'avvio in realtà usando il loro Percorsi API.

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

Qualche idea?

Edit: Ecco il mio codice finora:

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('/'); 
    }); 
}); 
+1

non si sta autenticando .. https://github.com/ArkeologeN/node-linkedin#oauth-20 – Pogrindis

+0

quindi ho bisogno di utilizzare questo percorso? '/ oauth/linkedin/callback' – benharris

+0

Ottengo questo errore quando vado lì' {"error_description": "parametri richiesti mancanti, include un valore di parametro non valido, parametro più di una volta.: Impossibile recuperare il token di accesso: codice di autorizzazione non trovato "," error ":" invalid_request "}' – benharris

risposta

2

Che cosa si sta cercando di fare è l'autenticazione applicazione solo, sembra LinkedIn ha rimosso questa opzione a differenza di Facebook e Twitter. A partire da ora è possibile solo autenticarsi come utente. Se vuoi davvero saltare il reindirizzamento potresti usare qualcosa come PhantomJS che è un browser senza intestazione. Ma ti consiglio vivamente di non farlo in quanto LinkedIn richiede a un utente di autenticarsi nel proprio accordo di licenza. Non so se sia legale, ma potresti fornirti un punto finale che usi per generare il codice_autenticazione e il token_di_accesso e poi salvarlo su un database (60 giorni validi per impostazione predefinita).

Problemi correlati