Sto cercando di recuperare AuthToken per Facebook (salvato da Facebook per Android) utilizzando la seguente parte di codice.Come recuperare un Facebook-AuthToken dagli account salvati su Android
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccountsByType("com.facebook.auth.login");
if (accounts.length > 0) {
for(int j = 0; j < accounts.length; j++) {
Account account = accounts[j];
if(account.type != null && account.type.equals("com.facebook.auth.login")) {
Log.e(RuntimeVars.MY_NAME, "FACEBOOK-TYPE FOUND");
am.getAuthToken(account, "com.facebook.auth.login", null, ConversationList.this,
new AccountManagerCallback<Bundle>() {
public void run(AccountManagerFuture<Bundle> arg0) {
try {
Bundle b = arg0.getResult();
Log.e(RuntimeVars.MY_NAME, "THIS AUTHTOKEN: " + b.getString(AccountManager.KEY_AUTHTOKEN));
}
catch (Exception e) {
Log.e(RuntimeVars.MY_NAME, "[email protected]");
}
}
}, null);
}
}
}
Le credenziali di accesso sono trovati e FACEBOOK-tipo che si trova è scritto in LogCat, ma nessuno dei due QUESTO authtoken: [...] né ECCEZIONE @ authtoken viene registrato. Quindi suppongo che am.getAuthToken
non venga mai chiamato.
Cosa mi manca?
In generale, se esiste un approccio migliore (e almeno funzionante) per il recupero dell'autoreken di Facebook dagli account Android, fatemelo sapere.
Grazie mille per il vostro aiuto!
migliori saluti
S.
Gli utenti di AFAIK devono inserire le loro credenziali di Facebook se viene utilizzato l'SDK di Facebook, ma tali credenziali dovrebbero essere già disponibili tramite il provider di account, ho pensato ... – stpn108
Dovrebbero essere, ma potrebbero essere limitate per impedire Android app che accedono ai dati dell'utente senza il permesso esplicito. Suggerirei sicuramente di andare con questo soluzione (richiesta di una password quando necessario), quindi sostituirla in un secondo momento se si trova il modo di utilizzare AccountsManager. – Dave
AFAIK - L'SDK Android di Facebook restituisce un token di autenticazione che è valido solo per 1 ora. Ciò significa che l'utente deve effettuare nuovamente l'accesso utilizzando l'interfaccia OAUth dell'SDK ogni volta che desidera accedere al proprio account FB. – Guy