2015-07-22 15 views
14

Sto lavorando a quell'applicazione per consentire all'utente di connettersi a linkedin (utilizzando javascript). Voglio memorizzare il token di accesso che ho ricevuto da IN.ENV.auth.oauth_token perché lo userò per pubblicare sulla timeline dell'utente.ottenere il token di accesso del linkedin con l'SDK JavaScript

Ma quando uso questo token di accesso per postare su Linkedin, ho ricevuto l'errore "Token di accesso non valido". Ho usato il token di accesso corretto? Qual è il modo corretto per ottenere token di accesso?

Ecco il mio codice:

$("#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

Hai ottenuto quel token da [autenticazione OAuth] (https://developer.linkedin.com/docs/oauth2) utilizzando [LinkedIn API] (https://developer.linkedin.com/docs)? –

+2

Ho seguito le istruzioni qui https://developer.linkedin.com/docs/js-sdk. Sulla funzione di callback ho catturato IN.ENV.auth.oauth_token; Se non è il token di accesso corretto, qual è il modo corretto per ottenerlo? – sakura

+0

Mostraci il codice che hai usato per ottenere IN.ENV.auth.oauth_token. –

risposta

0

questo evento IN.Event.on(IN, "auth", OnLinkedInAuth); dovrebbe passare alcuni dati alla funzione OnLikedInAuth come indicato nella documentazione di SDK.

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

Come l'esempio (disponibili nei documenti) il getProfileData (simile al vostro OnLinkedInAuth) restituisce una promessa e quando è risolto vi darà qualche data che avete bisogno di leggere. In quell'oggetto troverai il token che puoi memorizzare (LocalStorage) e utilizzare