2011-02-01 11 views
9

Pracuję nad aplikacją opartą na twitterze i próbuję włączyć wbudowaną obsługę kont Androida na Twitterze. Poniższy kod służy do wyskakiwania okna dialogowego potwierdzenia mojej aplikacji, aby uzyskać dostęp do serwisu Twitter, ale nie jestem pewien, co należy przekazać jako typ authenticationType. Każda pomoc będzie doceniona. Przeszukałem go w różnych miejscach i nie mogę znaleźć poprawnej odpowiedzi. Zamiast niego pojawia się "oauth".Uwierzytelnianie Twittera za pomocą kont AccountManager na Androidzie

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

Doskonałe pytanie :-) Czy możesz podać wartość TWITTER_ACCOUNT_TYPE, aby odpowiedź była kompletna? – rds

+3

com.twitter.android.auth.login – nicky

Odpowiedz

8

Jeśli chcesz OAuth należy użyć tamte:

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

Jeśli chcesz podać hasło użytkownika, możesz napisać własne narzędzie uwierzytelniające. Oficjalna aplikacja Twitter nie przechowuje hasła. Hasło jest używane tylko raz, aby uzyskać te dwa żetony.

+1

com.twitter.android.oauth.token działał. Dzięki –

+0

Czy Facebook ma tego typu Oautha na Androida? W naszej firmie używają FbDialog w naszej aplikacji. Ale w jaki sposób użytkownik może ufać, że jest to dialog na Facebooku, a nie jakaś głupia robota? – Gopinath

+1

Czy tokeny są ważne do uwierzytelnienia na podstawie api i aplikacji? Próbuję go użyć i otrzymuję błąd 401. Kiedy próbuję unieważnić token próbujący odebrać inny, to nie działa. Jakiś pomysł/wskazówka? Dzięki –

0

z AccountManager docs:

Niektóre uwierzytelniających zostały auth Reklamowe typy, którego wartość jest zależna od Authenticator. Niektóre usługi używają różnych typów tokenów, aby uzyskać dostęp do różnych funkcji - dla przykładu przykład, Google używa różnych tokenów autoryzacji do uzyskiwania dostępu do Gmaila i Google kalendarza dla tego samego konta.

Myślę, że to nie jest bardzo ważne. Powinieneś naprawdę zapytać programistę twitter authentator. Lub napisz własny.

Powiązane problemy