2015-12-06 14 views
8

मैं अपनी परियोजना में LinkedIn लॉगिन की संभावना जोड़ना चाहता हूं।लिंक्डइन लॉगिन मूल उदाहरण के साथ लॉगिन नहीं कर रहा है

<!-- linkedin login --> 
<script type="text/javascript" src="//platform.linkedin.com/in.js"> 
    api_key: [MY_API_KEY] {~n} 
    authorize: false {~n} 
    onLoad: onLinkedInLoad {~n} 
</script> 

<!-- linkedin login play --> 
<script type="text/javascript"> 

    // Setup an event listener to make an API call once auth is complete 
    function onLinkedInLoad() { 
     IN.Event.on(IN, "auth", getProfileData); 
    } 

    // Handle the successful return from the API call 
    function onSuccess(data) { 
     console.log(data); 
    } 

    // Handle an error response from the API call 
    function onError(error) { 
     console.log(error); 
    } 

    // Use the API call wrapper to request the member's basic profile data 
    function getProfileData() { 
     IN.API.Raw("/people/~").result(onSuccess).error(onError); 
    } 

</script> 

{~n} कोई आपत्ति नहीं है, जैसा कि मैंने पेज रेंडर करने के लिए dust.js उपयोग कर रहा हूँ और मैं: मुझे लगता है कि ट्यूटोरियल से ट्यूटोरियल LinkedIn developer page पर दिए गए वास्तव में बुनियादी सामान पीछा किया और निम्न कोड के साथ समाप्त हो गया, उन्हें LinkedIn स्क्रिप्ट में तर्क पारित करने की आवश्यकता है।

तो, लॉगिन बटन प्रकट होता है, इसका मतलब है कि लिंक्डइन मेरी एपीआई कुंजी से सही ढंग से कनेक्ट करने में सक्षम था, लेकिन क्रोम कंसोल मुझे निम्न त्रुटि देता है: Uncaught Error: Could not execute 'onLinkedInLoad'. Please provide a valid function for callback.। चूंकि यह उदाहरण ट्यूटोरियल पृष्ठ पर दिया गया है, मुझे नहीं पता कि इसमें क्या गलत हो सकता है। यहां तक ​​कि यदि मैं LinkedIn in.js पर कॉल करने से पहले LinkedIn लॉगिन फ़ंक्शंस के ब्लॉक की घोषणा करता हूं, तो मुझे भी वही त्रुटि मिलती है।

मुझे लगता है कि यह स्पॉट करने के लिए एक बहुत ही आसान गलती है, लेकिन मैं वास्तव में यह नहीं बता सकता कि मैं क्या गलत कर रहा हूं।

उत्तर

2

ऐसा इसलिए हो रहा है क्योंकि आप मुख्य अनुभाग में लिंक्डइनलोड() पर कॉल कर रहे हैं, और यदि आप एकाधिक पृष्ठों पर काम कर रहे हैं..यह प्रत्येक पृष्ठ पर कॉल किया जाएगा भले ही उसके पास एपीआई कॉल से डेटा न हो (या बस आप उस पृष्ठ पर कोई भी कॉल नहीं कर रहे हैं जहां यह त्रुटि दिखाई दे रही है)।

प्रयास करें this`

// Removing event listener by calling IN.Event.on() outside of onLinkedInLoad() 

    IN.Event.on(IN, "auth", getProfileData); 


// Handle the successful return from the API call 
function onSuccess(data) { 
    console.log(data); 
} 

// Handle an error response from the API call 
function onError(error) { 
    console.log(error); 
} 

// Use the API call wrapper to request the member's basic profile data 
function getProfileData() { 
    IN.API.Raw("/people/~").result(onSuccess).error(onError); 
} 

` और हाँ हटाने" ऑनलोड: onLinkedInLoad {~ n} "पहले स्क्रिप्ट कॉल से

+0

कुछ समय बीत चुका है और मुझे यकीन है कि यह अभी भी प्रासंगिक है नहीं कर रहा हूँ /काम कर रहे। मुझे उस समय एक अलग समाधान मिला, लेकिन इनपुट के लिए धन्यवाद। – Masiar

+0

यह इस समय एक कामकाजी समाधान है .. क्योंकि मैं वही चीज़ पर फंस गया था जैसा कि आप थे ..... और फिर यह पृष्ठ मिला ... लेकिन यह मेरे लिए कोई मदद नहीं हो सका ... तो मैंने इसे अद्यतन करने के लिए सोचा .... और इसके अलावा कभी भी बेहतर देर से नहीं;) –

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