9

我正在开发一个基于 Twitter 的应用程序,并试图将 Android 的内置帐户支持合并到 Twitter。以下代码用于弹出我的应用程序访问 twitter 的确认对话框,但我不确定要作为 authenticationType 传递什么。任何帮助,将不胜感激。我到处搜索,似乎找不到正确的答案。它代替了下面的“oauth”。

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", "EXCEPTION@AUTHTOKEN");  
                }  
    }}, null);
}
4

2 回答 2

8

如果你想要 OAuth,你应该使用那些:

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

如果您想要用户的密码,那么您可以编写自己的身份验证器。官方 Twitter 应用程序不存储密码。密码仅用于获取这两个令牌一次。

于 2011-02-11T15:22:35.500 回答
0

来自AccountManager 文档

一些身份验证器具有身份验证令牌类型,其值取决于身份验证器。某些服务使用不同的令牌类型来访问不同的功能——例如,Google 使用不同的身份验证令牌来访问同一帐户的 Gmail 和 Google 日历。

我认为,这不是很重要。你真的应该问 twitter 身份验证器的开发人员。或者自己写。

于 2011-02-11T22:40:37.807 回答