2

我可以用这个推特登录和发帖,但我不知道如何注销。

我只是假装我已经通过添加退出

CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.removeSessionCookie();

private boolean mCanTweet = false;

我尝试使用教程中的这个 url 注销,但它不起作用。

public static final String TWITTER_LOGOUT_URL = "https://api.twitter.com/logout";

有谁知道如何使用 Twitter4j 进行“实际”注销?

这是我的项目

http://dl.dropbox.com/u/12439052/stackoverflow/TwitterCon2.zip

4

7 回答 7

5

我的 twitter4j 项目也遇到了同样的问题。我通过使用此代码解决了这个问题

CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();

mTwitter.setOAuthAccessToken(null);
mTwitter.shutdown();

在注销方法中,在重新加载身份验证活动之前。

于 2012-09-05T12:32:11.590 回答
4

来自 Twitter4J 的作者 Yusuke Yamamoto:“Twitter4J 由 API 使用 Basic auth 标头以无状态方式进行身份验证。它完全是无状态的,不需要注销。”

https://groups.google.com/forum/?fromgroups=#!topic/twitter4j/WVdyLVluJpw

于 2013-03-06T12:14:02.320 回答
1

从 twitter 注销的概念只是删除登录信息,然后您就退出了。因为当你在你的应用中发推或用推特做某事时,它需要令牌等,所以你只需要删除它们。我的android应用程序遇到了同样的问题,所以在谷歌搜索后,我找到了简单的解决方案。即删除信息。所以我清除了我的

SharedPrefferences

并做了。!

于 2012-11-25T17:45:05.213 回答
1

最简单的方法是清除 cookie。

在 webview 类的 onCreate 中编写以下一行代码。

android.webkit.CookieManager.getInstance().removeAllCookie();

希望能帮助到你。

于 2015-10-14T05:55:27.630 回答
0

Twitter4J 根本不需要登录,它对 Twitter API 执行无状态请求。所以你也不需要注销。
参考:https ://groups.google.com/forum/?fromgroups#!topic/twitter4j/WVdyLVluJpw

于 2012-06-15T12:04:33.187 回答
0
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();
TwitterSession.resetAccessToken();
Twitter_Handler.twitterObj.shutdown();

这里将公共静态变量设置为处理程序中的 twitterObj 和 TwitterSession 文件中的 resetAccessToken。

于 2014-09-04T05:50:44.880 回答
0

即使 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();
}
于 2012-10-29T16:54:42.403 回答