Twitter4j,我如何注销?
Posted
技术标签:
【中文标题】Twitter4j,我如何注销?【英文标题】:Twitter4j, how do i logout? 【发布时间】:2012-06-18 06:53:40 【问题描述】:我可以使用此 Twitter 登录和发帖,但我不知道如何退出。
我只是假装我已经通过添加退出了
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();
private boolean mCanTweet = false;
我尝试使用教程中的这个网址注销,但它不起作用。
public static final String TWITTER_LOGOUT_URL = "https://api.twitter.com/logout";
有人知道如何使用 Twitter4j 进行“实际”注销吗?
这是我的项目
http://dl.dropbox.com/u/12439052/***/TwitterCon2.zip
【问题讨论】:
【参考方案1】:Twitter4J 根本不需要登录,它对 Twitter API 执行无状态请求。 所以你也不需要注销。 参考:https://groups.google.com/forum/?fromgroups#!topic/twitter4j/WVdyLVluJpw
【讨论】:
【参考方案2】:我的 twitter4j 项目遇到了同样的问题。我通过使用此代码解决了这个问题
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();
mTwitter.setOAuthAccessToken(null);
mTwitter.shutdown();
在注销方法中,在重新加载身份验证活动之前。
【讨论】:
传递 null 原因:java.lang.IllegalStateException:未提供 OAuth 使用者密钥/秘密组合 @ılǝ 在传递 null 之前使用这个mTwitter.setOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
。【参考方案3】:
即使twitter4j是无状态的api,也可以使用以下方法清除凭证
private void clearCredentials()
final Editor edit = prefs.edit();
edit.remove(OAuth.OAUTH_TOKEN);
edit.remove(OAuth.OAUTH_TOKEN_SECRET);
edit.commit();
TwitterFactory().getInstance().shutdown();
【讨论】:
【参考方案4】:从 twitter 注销的概念只是删除登录信息,然后您就退出了。因为当你在你的应用中发推文或用推特做某事时,它需要令牌等,所以你只需要删除它们。我的 android 应用程序也面临同样的问题,所以在谷歌搜索后,我找到了简单的解决方案。即删除信息。所以我清除了我的
SharedPrefferences
完成了!
【讨论】:
【参考方案5】:来自 Twitter4J 的作者 Yusuke Yamamoto:“Twitter4J 由 API 使用 Basic auth 标头以无状态方式进行身份验证。 它完全是无状态的,不需要注销。”
https://groups.google.com/forum/?fromgroups=#!topic/twitter4j/WVdyLVluJpw
【讨论】:
【参考方案6】:CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();
TwitterSession.resetAccessToken();
Twitter_Handler.twitterObj.shutdown();
这里将公共静态变量设置为处理程序中的 twitterObj 和 TwitterSession 文件中的 resetAccessToken。
【讨论】:
【参考方案7】:最简单的方法是清除cookie。
在 webview 类的 onCreate 中编写以下一行代码。
android.webkit.CookieManager.getInstance().removeAllCookie();
希望对你有帮助。
【讨论】:
以上是关于Twitter4j,我如何注销?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 twitter4j 中将 twitter ID 转换为用户名?或者我可以使用 id 来获取用户简介吗?
使用twitter4j库的Twitter Android登录错误
Twitter4J + Android:身份验证挑战为空异常