Quello che sto cercando di realizzare:Android LinkedIn SDK produce token di accesso inutilizzabili
- Autentica w/LinkedIn tramite il loro Android SDK
- Fetch profilo di utente per ottenere la loro userId
- Crea nuovo utente contro il nostro interno servizio
Finora sono stato in grado di autenticare con LinkedIn, recuperare un token di accesso e utilizzarlo contro il servizio di LinkedIn per ottenere il proprio ID utente.
Il flusso sembra un po 'come questo
LISessionManager.getInstance(activity).init(this.activity.get(), permissionScope,
authLinkedInCallback, showDialogIfAppMissing);
al ritorno nella mia applicazione Io prendo i dati Intent usando il codice seguente
LISessionManager.getInstance(activity).onActivityResult(activity, requestCode, resultCode, data);
questa parte sembra essere funzionale e produce un onAuthSuccess da AuthListener impostazione nell'inizializzazione LISessionManager.
dopo il successo sono in grado di utilizzare il token di accesso fornita con il previsto APIHelper per ottenere il profilo di base dell'utente
String built = "https://api.linkedin.com/v1/people/~?format=json";
APIHelper.getInstance(activity.get()).getRequest(activity.get(), built, getProfileCallback);
questo in realtà ritorna con successo con le informazioni di base del profilo utente.
questo è dove gli esseri problema posso solo usare questo token di accesso per effettuare chiamate utilizzando il APIHelper. Quando si tenta di utilizzare il token di accesso fornito altrove (lato server, testing in Postman/Apigee) restituisce sempre questa risposta.
{
"errorCode": 0,
"message": "Unable to verify access token",
"requestId": "M9J2NBQV9J",
"status": 401,
"timestamp": 1430922872474
}
Sono stato utilizzando la risorsa LinkedIn per il debug 401 numeri (https://developer.linkedin.com/docs/oauth2) Utilizzo del LISessionManager. per valutare la sessione corrente mi dice che il token di accesso è
- ancora valido
- non è scaduto
- è ancora buono per circa 2 mesi dal momento in cui viene emesso.
Controllo il mio profilo LinkedIn, non ha revocato l'accesso all'applicazione e alla portata permesso è basic_profile, email_address, e w_share
Sono molto confuso perché questi accessTokens generati non sembrano essere validi al di fuori dell'SDK di LinkedIn, non sono validi in tutto il servizio?
Qualsiasi aiuto apprezzato.
Grazie per la rapida risposta, Justin! Se l'avessi scoperto. Apprezzo l'aiuto. – jtuchek