2015-07-22 7 views
14

Ich arbeite an dieser Anwendung erlauben Benutzer eine Verbindung zu linkedin (mit Javascript). Ich möchte ein Zugriffstoken speichern, das ich von IN.ENV.auth.oauth_token erhalten habe, weil ich es für die Zeitleiste des Benutzers verwenden werde.get linkedin Access Token mit JavaScript SDK

Aber wenn ich dieses Access-Token zu Linkedin posten, bekam ich "Invalid Access Token" -Fehler. Habe ich das richtige Zugriffstoken verwendet? Wie ist der richtige Weg, um Access-Token zu erhalten?

Hier ist mein Code:

$("#linkedin-connect").on('click',function(e){ 
    e.preventDefault(); 
    IN.UI.Authorize().place(); 
    IN.Event.on(IN, "auth", OnLinkedInAuth); 
    return false; 
}); 

function OnLinkedInAuth() { 
    console.debug("oauth token:" + IN.ENV.auth.oauth_token); 
} 

JSFiddle Example

+0

Haben Sie dieses Token von einer [OAuth-Authentifizierung] (https://developer.linkedin.com/docs/oauth2) mit dem [LinkedIn API] (https://developer.linkedin.com/docs)? –

+2

Ich folgte den Anweisungen hier https://developer.linkedin.com/docs/js-sdk. Bei der Callback-Funktion habe ich IN.ENV.auth.oauth_token; Wenn es nicht das richtige Zugangs-Token ist, wie ist der richtige Weg, es zu bekommen? – sakura

+0

Bitte zeigen Sie uns den Code, mit dem Sie das IN.ENV.auth.oauth_token erhalten haben. –

Antwort

0

dieses Ereignis IN.Event.on(IN, "auth", OnLinkedInAuth); einige Daten auf Ihre Funktion übergeben sollte OnLikedInAuth wie in der Dokumentation des sdk gezeigt.

<script type="text/javascript" src="//platform.linkedin.com/in.js"> 
    api_key: YOUR_API_KEY_HERE 
    authorize: true 
    onLoad: onLinkedInLoad 
</script> 

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

Wie dieses Beispiel (erhältlich in docs) die getProfileData (ähnlich Ihrer OnLinkedInAuth) gibt ein Versprechen und wenn es aufgelöst werden Sie einige data geben, die Sie lesen müssen. In diesem Objekt finden Sie das Token, das Sie speichern können (LocalStorage) und verwenden