Я пытаюсь получить AuthToken для Facebook (сохранен Facebook для Android), используя следующий фрагмент кода.Как извлечь Facebook-AuthToken из учетных записей, сохраненных на 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);
}
}
}
регистрационные данные будут найдены и FACEBOOK-TYPE НАЙДЕНО записывается в LogCat, но ни ЭТО AUTHTOKEN: [...] ни ИСКЛЮЧЕНИЕ @ AUTHTOKEN регистрируется. Поэтому я полагаю, что am.getAuthToken
никогда не вызывается.
Что мне не хватает?
В общем, если есть лучший (и, по крайней мере, рабочий) подход для извлечения Facebook authtoken из аккаунтов Android, пожалуйста, дайте мне знать.
Большое спасибо за помощь!
С наилучшими пожеланиями
С.
Пользователи AFAIK должны ввести свои учетные данные в facebook, если используется SDK Facebook. Но эти учетные данные должны быть уже доступны через поставщика учетных записей, я думал ... – stpn108
Они должны быть, но могут быть запрещены для Android приложения, получающие доступ к данным пользователя без явного разрешения. Я бы определенно предложил пойти с этим (запрашивая пароль при необходимости), а затем замените его позже, если вы найдете способ использования AccountsManager. – Dave
AFAIK - Android Android SDK возвращает токен аутентификации, действительный только на 1 час. Это означает, что пользователю необходимо повторно войти с использованием интерфейса SDK OAUth каждый раз, когда они хотят получить доступ к своей учетной записи FB. – Guy