安卓:如何通过帐户管理器推特oAuth



在我的应用程序中,我想在Twitter、Facebook等多个网站的登录过程中使用oAuth协议。我有一些关于Twitter oAuth的问题。

我用这些线路访问令牌和秘密数据:

AccountManager am = AccountManager.get(MyActivity.this);
Account[] accounts = am.getAccountsByType("com.twitter.android.auth.login");
if(accounts.length > 0) {
    Account acct = accounts[0];
    am.getAuthToken(acct, "com.twitter.android.oauth.token", null, MyActivity.this, new AccountManagerCallback<Bundle>() {
        public void run(AccountManagerFuture<Bundle> arg0) {
            // Accessing token
        }
    }, null);               
} else {
    Toast.makeText(getApplicationContext(), "There is no defined account", Toast.LENGTH_SHORT).show();
}

所以我成功了。但我对这些问题很好奇:

  • 我需要任何Twitter应用程序吗
  • 我将如何检查这些代币,还是必须进行检查?我的意思是,我将如何获取用户的信息,比如twitter_id

任何信息都很好。

我需要任何Twitter应用程序吗?

是的,您需要一个Twitter应用程序来使用Twitter帐户进行身份验证。为此,请转到Twitter Developers创建您的应用程序。

我将如何检查这些代币,还是必须进行检查?我的意思是我将如何访问用户的信息,如twitter id?

当你在Twitter开发者网站上注册你的Twitter应用程序时,Twitter将生成你的应用程序的消费者密钥和消费者秘密。如果需要,可以重置它们。它们写在应用程序的专用部分。您可以通过转到<your Twitter Developers account>(您可以使用自己的Twitter凭据进行身份验证)>My Applications并单击您的应用程序来访问此部分。

对于OAuth令牌和OAuth机密,Twitter开发人员将在最后一个创建时为应用程序的所有者生成它们。对于其他用户,您必须执行OAuth身份验证流以获取他们的(OAuth)令牌和机密。您还可以使用此进程检索所有者OAuth令牌。在过程结束时,Twitterneneneba API将为您提供最终用户的令牌(OAuth令牌和OAuth机密)、Twitterid和已验证用户的屏幕名称(用户名)。有了这些信息,你就能得到你想要的所有信息。

最新更新