2011-02-01 4 views
9

Я работаю над приложением на основе твиттера и пытаюсь включить встроенную поддержку Android для Twitter. Следующий код работает, чтобы открыть диалоговое окно подтверждения для моего приложения для доступа к твиттеру, но я не уверен, что передать в качестве типа authenticationType. Любая помощь будет оценена по достоинству. Я гугл по всему месту и не могу найти правильный ответ. Это происходит вместо «oauth» ниже.Twitter Аутентификация через классы AccountManager для Android

AccountManager am = AccountManager.get(this); 
Account[] accts = am.getAccountsByType(TWITTER_ACCOUNT_TYPE); 
if(accts.length > 0) { 
    Account acct = accts[0]; 
    am.getAuthToken(acct, "oauth"/*what goes here*/, null, this, new AccountManagerCallback<Bundle>() { 

    @Override 
    public void run(AccountManagerFuture<Bundle> arg0) { 
     try { 
        Bundle b = arg0.getResult(); 
        Log.e("TrendDroid", "THIS AUTHTOKEN: " + b.getString(AccountManager.KEY_AUTHTOKEN)); 
       } catch (Exception e) { 
        Log.e("TrendDroid", "[email protected]"); 
       } 
    }}, null); 
} 
+0

Отличный вопрос :-) Можете ли вы предоставить значение TWITTER_ACCOUNT_TYPE, чтобы ответ был завершен? – rds

+3

com.twitter.android.auth.login – nicky

ответ

8

Если вы хотите OAuth вы должны использовать те из них:

  • com.twitter.android.oauth.token
  • com.twitter.android.oauth.token.secret

Если вы хотите ввести пароль пользователя, вы можете написать свой собственный аутентификатор. Официальное приложение Twitter не хранит пароль. Пароль используется только один раз, чтобы получить эти два токена.

+1

com.twitter.android.oauth.token работал. Спасибо –

+0

Имеет ли Facebook этот тип oauth на Android? В нашей компании они используют FbDialog в нашем приложении. Но как пользователь может доверять тому, что это диалог в facebook, а не какая-то глупость? – Gopinath

+1

Являются ли эти жетоны действительными для аутентификации против api и приложения? Я пытаюсь использовать его, и я получаю ошибку 401. Когда я пытаюсь сделать недействительным токен, пытающийся получить другой, он не работает. Любая идея/подсказка? Спасибо –

0

из AccountManager docs:

Некоторые Аутентификаторы имеют токен аутентификации типа, значение которого является аутентификатор-зависимой. Некоторые службы используют разные типы токенов для доступа различные функции - для пример, Google использует разные токены для доступа к Gmail и Google. Календарь для той же учетной записи.

Думаю, это не очень важно. Вы должны действительно спросить разработчика аутентификатора twitter. Или напишите свое.