我尝试使用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
我做错了什么?
我不想使用任何第三方库,只有硬编码:)
如何获取令牌,以便我可以进入下一步并进行身份验证?
答案 0 :(得分:1)
我知道你想要这么做,但Twitter推出了一个官方SDK,只需几行代码就可以登录Twitter工作并实现所有备用身份验证流程(安装Twitter应用程序,而不是安装,用户取消等)
示例:
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