2014-11-18 14 views
6

मैं लिंक्डइन के एपीआई का उपयोग यूनिवर्सिटी लिंक्डइन पृष्ठों तक पहुंचने के लिए समय-समय पर एकत्रित करने के लिए कर रहा हूं ताकि वे कितने अनुयायियों को एकत्र कर सकें। ऐसा करने योग्य लगता है, लेकिन मुझे लगता है कि कुछ अजीब रीडायरेक्ट यूआरएल के बिना एक्सेस टोकन जेनरेट नहीं कर रहा है जो आपको एक जीयूआई लॉगिन पेज पर ले जाना है!रीडायरेक्ट के बिना LinkedIn API एक्सेस टोकन कैसे प्राप्त करें

मैं इसके लिए Node.js उपयोग कर रहा हूँ, विशेष रूप से इस पैकेज: https://www.npmjs.org/package/node-linkedin

मैं एक एपीआई कुंजी और रहस्य है, तो सब मैं जरूरत है एक पहुँच टोकन तो मैं वास्तव में उपयोग शुरू करने के लिए सेट किया जा जाएगा उनके एपीआई मार्ग।

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

आप प्रमाणीकरण नहीं कर रहे हैं .. https://github.com/ArkeologeN/node-linkedin#oauth-20 – Pogrindis

+0

इसलिए मुझे इस मार्ग का उपयोग करने की आवश्यकता है? '/ oauth/linkedin/callback' – benharris

+0

जब मैं वहां जाता हूं तो मुझे यह त्रुटि मिलती है' {"error_description": "आवश्यक पैरामीटर गुम है, एक अमान्य पैरामीटर मान, पैरामीटर एक से अधिक बार शामिल है।: एक्सेस टोकन पुनर्प्राप्त करने में असमर्थ: प्रमाणीकरण कोड नहीं मिला "," त्रुटि ":" invalid_request "}' – benharris

उत्तर

2

आपको क्या करने की कोशिश कर रहे हैं एक आवेदन-केवल प्रमाणीकरण, यह लिंक्डइन इस विकल्प को फेसबुक और ट्विटर के विपरीत हटा दिया गया है लगता है। अभी तक उपयोगकर्ता के रूप में प्रमाणित करना केवल संभव है। यदि आप वास्तव में रीडायरेक्ट को छोड़ना चाहते हैं तो आप फ़ैंटॉमजेएस जैसे कुछ का उपयोग कर सकते हैं जो हेडरलेस ब्राउज़र है। लेकिन मैं दृढ़ता से आपको ऐसा करने की सलाह नहीं देता क्योंकि लिंकडइन को उपयोगकर्ता को उनके लाइसेंस अनुबंध में प्रमाणित करने की आवश्यकता होती है। मुझे नहीं पता कि यह कानूनी है या नहीं, लेकिन आप खुद को एक अंत-बिंदु प्रदान कर सकते हैं जिसका उपयोग आप प्रमाणीकरण_code और access_token उत्पन्न करने के लिए करते हैं और फिर इसे डेटाबेस में सहेजते हैं (डिफ़ॉल्ट रूप से 60 दिन वैध)।

संबंधित मुद्दे