2011-02-01 92 views
9

我正在开发基于Twitter的应用程序,并试图将Android的内置帐户支持结合到Twitter中。以下代码用于弹出我的应用程序的确认对话框以访问Twitter,但我不确定要以什么身份通过身份验证类型。任何帮助,将不胜感激。我已经遍地搜索,似乎无法找到正确的答案。它代替了下面的“oauth”。通过Android的AccountManager类进行Twitter身份验证

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 2011-06-08 16:48:06

+3

com.twitter.android.auth.login – nicky 2012-06-06 14:57:14

回答

8

如果你想的OAuth,你应该使用这些的:

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

如果你想要用户的密码,那么你可以写你自己的认证。官方Twitter应用程序不存储密码。该密码仅用于获取这两个令牌。

0

AccountManager docs

有些鉴定人已经验证令牌类型,其值是 认证依赖性。某些服务 使用不同的令牌类型来访问 不同的功能 - 例如,对于 示例,Google使用不同的身份验证 令牌访问Gmail和Google 日历为同一个帐户。

我想,这不是很重要。你应该问问twitter认证者的开发者。或者写你自己的。

相关问题