Как получить Facebook-AuthToken из учетных записей, сохраненных на Android

Я пытаюсь получить AuthToken для Facebook (сохраненный Facebook для 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, "EXCEPTION@AUTHTOKEN");
                        }
                    }
                }, null);
            }
        }
    }

Учетные данные для входа найдены, и FACEBOOK-TYPE FOUND записывается в LogCat, но ни ЭТО АВТОКЕН: [...] , ни ИСКЛЮЧЕНИЕ @ AUTHTOKEN не регистрируются. Поэтому я полагаю, что am.getAuthToken никогда не вызывается.

Что мне не хватает?

В общем, если есть лучший (и хотя бы рабочий) подход для получения токена авторизации Facebook из учетных записей Android, пожалуйста, дайте мне знать.

Большое спасибо за вашу помощь!

С уважением
С.

7
задан Dennis Winter 6 January 2011 в 14:14
поделиться