【问题标题】:Android twitter oAuth: failed to validate oauth signature and tokenAndroid twitter oAuth:无法验证 oauth 签名和令牌
【发布时间】:2014-11-04 19:12:37
【问题描述】:

我尝试使用 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 

我做错了什么?

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

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

【问题讨论】:

    标签: android twitter oauth


    【解决方案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

    【讨论】:

    • 如果作者不想使用默认的 Twitter 应用程序怎么办?
    • 你还能提供什么库?此外,我的应用不必“连接”到默认的 twitter 应用...设备可能没有默认应用
    • 如果 Twitter 应用程序不可用,它将回退到 Webview 应用程序授权,就像您在浏览器中的授权一样。
    • brabertaser1992,抱歉,没看懂你的问题,能解释一下吗?
    • 没有面料我还能用什么lib?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 2011-04-08
    • 2014-04-02
    • 2014-04-07
    相关资源
    最近更新 更多