Android twitter oAuth:未能验证oauth签名和令牌

时间:2014-11-03 20:28:11

标签: android twitter oauth

我尝试使用webview在twitter中进行身份验证,我的代码是这样的:

mWebView = (WebView) findViewById(R.id.web_view);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.setWebViewClient(new TwitterWebViewClient());
String postData = "oauth_consumer_key=eT*9ax***1HT5TnI6**8**vE&oauth_callback=http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback";
mWebView.postUrl("https://api.twitter.com/oauth/request_token", EncodingUtils.getBytes(postData, "HMAC-SHA1"));

但结果我看到了:

failed to validate oauth signature and token 

我做错了什么?

我不想使用任何第三方库,只有硬编码:)

如何获取令牌,以便我可以进入下一步并进行身份验证?

1 个答案:

答案 0 :(得分:1)

我知道你想要这么做,但Twitter推出了一个官方SDK,只需几行代码就可以登录Twitter工作并实现所有备用身份验证流程(安装Twitter应用程序,而不是安装,用户取消等)

检查:http://t.co/fabric

示例:

private void setUpTwitterButton() {
    twitterButton = (TwitterLoginButton) findViewById(R.id.twitter_button);
    twitterButton.setCallback(new Callback<TwitterSession>() {
        @Override
        public void success(Result<TwitterSession> result) {
            // TODO: success flow
        }

        @Override
        public void failure(TwitterException exception) {
            // TODO: failure flow
        }
    });
}

如果您想使用此SDK查看应用示例:https://github.com/twitterdev/cannonball-android