2

在我的应用程序中,我想oAuth在 Twitter、Facebook 等多个网站的登录过程中使用协议。我有一些关于 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 这样的用户信息?

任何信息都会很棒。

4

1 回答 1

3

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

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

我将如何检查这些令牌还是必须检查?我的意思是我将如何获得像 twitter_id 这样的用户信息?

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

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

于 2012-07-19T17:08:36.787 回答