如何使用我的Android应用程序中的Oauth登录twitter?

时间:2010-09-09 09:28:14

标签: android twitter oauth

我正在制作一个Twitter客户端的应用程序。这意味着它通过OAuth连接到Twitter。我将我的应用程序注册到Twitter并获得了所有密钥,但现在我不知道如何将我的应用程序与twitter连接。我在下面提到了一些代码。请帮帮我......

Twitter twitter=new TwitterFactory().getInstance();
twitter.setOAuthConsumer(Consumer key, Consumer secret);
RequestToken requestToken = twitter.getOAuthRequestToken();
AccessToken accessToken=null;
Log.i("Acces Token",accessToken.getToken());     
Log.i("Acces Tokensec",accessToken.getTokenSecret());

提前致谢。

2 个答案:

答案 0 :(得分:8)

你有两个选择。第一是更容易。第二个更难。

第一名就在你离开的地方继续。 获得requestToken后,您需要启动WebView并将网址指向requestToken.getAuthorizationURL()。然后,用户将登录并选择是否允许访问他/她的帐户。接下来,如果他/她点击允许,将显示访问代码,用户必须复制/粘贴您自己的应用程序。您将使用getOAuthAccessToken()(我认为,我使用后面描述的困难方法)的密钥来获取您应该永久存储在某处的身份验证令牌。此时您已通过身份验证。

继续你离开的地方减去一个细节...... twitter.getOAuthRequestToken(REDIRECT_URL)。 必须首先在您的Twitter开发者帐户中设置redirect_url。然后按照与第一步相同的步骤,除了您的webview需要自定义。您需要在setWebViewClient()上使用WebView并创建一个扩展WebViewClient的新类。在WebViewClient的onPageStarted内,检查网址是否以您的返回网址开头。然后获取oauth信息:

String oauth_token = uri.getQueryParameter("oauth_token");
String oauth_verifier = uri.getQueryParameter("oauth_verifier");

使用oauth_verifiertwitter.getOAuthAccessToken()获取您的令牌。

答案 1 :(得分:1)

如果完整的OAuth Web重定向不方便,您可以尝试使用Twitter's xAuth service method将一组Twitter凭据转换为OAuth访问令牌(执行一次,然后保存令牌)。移动应用程序要容易得多,但您需要通过发送电子邮件至api@twitter.com向Twitter请求使用xAuth。

您还可以查看another question on StackOverflow以获取更多相关信息。

如果您的问题是如何实际实施OAuth交互,您可能需要check out OAuth library information on Twitter和/或您正在使用的库上的文档。