6

Sto usando Facebook Android SDK 4.0 (versione appena aggiornata). Ho effettuato l'accesso alla mia app dopo la configurazione iniziale. Poi sono uscito dalla mia app. Se di nuovo avvio la mia app, l'utente non è nello stato di accesso. Quando uso il debugger, mostra "ACCESS TOKEN REMOVED". Qual è la procedura per verificare se l'utente è connesso con il token di accesso?Token di accesso rimosso in Facebook Android SDK 4.0

Ho provato il nuovo metodo di accesso (in base alla versione 4.0 più recente) in cui hanno menzionato il processo di accesso. L'ho fatto. Ma ogni volta che apro lo stato del token di accesso è "ACCESS TOKEN REMOVED". Ho controllato l'ID app, il nome del pacchetto, il nome dell'attività nelle impostazioni della dashboard. Tutti sono corretti Aiutami a trovare una soluzione per questo problema.

+0

Hai provato già qualcosa? Forse hai trovato qualcosa su internet, l'hai provato e per qualche motivo non funzionava? – ZygD

+0

In realtà, ho provato un nuovo metodo di accesso (in base alla versione 4.0 più recente) in cui hanno menzionato il processo di accesso. L'ho fatto. Ma ogni volta che apro lo stato del token di accesso è "ACCESS TOKEN REMOVED". Ho controllato l'ID app, il nome del pacchetto, il nome dell'attività nelle impostazioni della dashboard. Tutti sono corretti Aiutami a trovare una soluzione per questo problema. – Che

+0

Purtroppo non posso aiutarti, ho chiesto solo per rendere più chiaro agli altri che avevi provato qualcosa. – ZygD

risposta

12

Per impostazione predefinita, l'SDK non registra i token di accesso su logcat (ciò per evitare la perdita di token utente tramite il registro).

È tuttavia possibile abilitare in modalità di debug un comportamento di registrazione per registrare il token di accesso. Basta aggiungere questo quando si sta chiamando FacebookSdk.sdkInitialize(), ma assicuratevi di farlo solo quando si è in modalità debug:

if (BuildConfig.DEBUG) { 
    FacebookSdk.setIsDebugEnabled(true); 
    FacebookSdk.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS); 
} 
+0

Grazie tanto .. @Ming Li E, ACESSTOKEN: 'Stato: token di accesso RIMOSSO permesso: basic_ifo, public_profile' quando ho usato per stampare il token di accesso, viene mostrato in questo modo. Non riesco a fare alcuna richiesta di grafia, anche se non sono riuscito a ottenere alcuna risposta all'errore nel metodo 'onCompleted (GraphResponse response)'. Penso che sia a causa dello stato "ACCESS TOKEN REMOVED". Quindi, per favore aiutami a risolvere questo problema. – Che

+0

Puoi pubblicare il tuo codice su come stai facendo GraphRequest? –

+0

Ciao @Ming Li, Questo è il mio codice. 'richiesta Richiesta = Request.newGraphPathRequest (sessione, APPID + "/ colonne sonore", nuova Request.GraphUserCallback() { @Override public void onCompleted (utente GraphUser, risposta Response) {// non posso ottenere alcuna risposta qui anche io non riesco a eseguire il debug. } }); request.executeAsync(); ' Quando eseguo il debug, il debugger non mostra alcun valore per le variabili locali ma mostra il valore della variabile di istanza globale. Aiutami a risolvere questo problema. Grazie in anticipo. – Che

0

ho avuto la soluzione. Ho eseguito il metodo GraphRequest all'interno del thread separato. È un approccio sbagliato. Tutto ciò che è asynch deve essere eseguito all'interno del thread principale.

14

è possibile ottenere access_token utilizzando loginResult.getAccessToken(). GetToken(); come codice seguente

LoginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 

      String accessToken= loginResult.getAccessToken().getToken(); 

     } 
+0

Grazie. Capito. – Che

+0

bene. I vostri sono i benvenuti –

+0

Nizza. Grazie per l'aiuto. –

4

È possibile ottenere il token utilizzando

AccessToken.getCurrentAccessToken().getToken() 

Usando questo si può ottenere il token in qualsiasi momento, se si utilizza il LoginResult, si ottiene solo una volta, al momento accedi, quando riavvii l'app non viene chiamato onSuccess.

Se è necessario il profilo dopo il riavvio, si utilizza

Profile.getCurrentProfile(); 

Se questo restituisce null non si loggate

Problemi correlati