【问题标题】:twitter authentication using signpost android使用signpost android进行推特身份验证
【发布时间】:2012-12-16 02:46:39
【问题描述】:
httpOauthConsumer = new CommonsHttpOAuthConsumer(consumerKey, consumerSecret);
httpOauthprovider = new DefaultOAuthProvider("http://twitter.com/oauth/request_token",
                                                "http://twitter.com/oauth/access_token",
                                                "http://twitter.com/oauth/authorize");

String authUrl = httpOauthprovider.retrieveRequestToken(httpOauthConsumer, CALLBACKURL);            
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));

使用此代码通过 twitter 验证应用程序。

我成功地通过我的应用程序通过 twitter 进行了身份验证。但是,我怀疑一旦我卸载应用程序并再次安装它转发到身份验证 URL。单击授权应用程序后,它将转发回我的应用程序。我只能第一次输入用户名,密码。从下一次开始输入用户名的推特网页,密码本身就不来了。

为什么会这样? 在此先感谢:)

【问题讨论】:

  • 因为在 cookie 或缓存中存储了用户名和密码...所以,清除它..so,您可以再次获得 twitter 登录页面..
  • @MehulRanpara 你的意思是我需要清除浏览器中的缓存?实际上,我并没有将其保存在共享首选项中。
  • 只需使用下面的链接并将您的应用程序与 twitter 集成...
  • 好的。我现在明白了。如果凭据已保存,则只会出现 Authorize app 按钮。甚至顶部还有一个退出按钮。如果退出,我们可以重新登录。那么使用 AndroidTwitter 或 twitter4j api 进行 twitter 集成更好吗?
  • 最好的方法是 AndoridTwitter..因为这不会让你退出应用程序..

标签: android api twitter


【解决方案1】:

只需从 Twitter 注销即可显示登录页面。

private Boolean clearCredentials() {
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this.context);
        Editor edit = prefs.edit();
        edit.remove(OAuth.OAUTH_TOKEN);
        edit.remove(OAuth.OAUTH_TOKEN_SECRET);
        edit.remove(Constants.TWITTER_FLAG);
        edit.commit();

        return true;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    相关资源
    最近更新 更多