我正在制作一个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());
提前致谢。
答案 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_verifier
和twitter.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和/或您正在使用的库上的文档。