1

我正在尝试使用 twitter4j 检索 twitter 用户的时间线。我可以使用 2.6 版做到这一点,但现在我升级到 3.03 并开始从 twitter 收到身份验证错误。

401:身份验证凭据 ( https://dev.twitter.com/pages/auth ) 丢失或不正确。确保您已设置有效的使用者密钥/秘密、访问令牌/秘密,并且系统时钟同步。消息 - 无法验证您的代码 - 32

这就是我检索 twitter 对象的方式

TwitterFactory twitterFactory = new TwitterFactory(
                                                new ConfigurationBuilder().setDebugEnabled(true).
                                                setOAuthConsumerKey(oAuthConsumerKey).
                                                setOAuthConsumerSecret(oAuthConsumerSecret).
                                                setJSONStoreEnabled(true).
                                                build());
twitter = twitterFactory.getInstance();
twitter.setOAuthAccessToken(new AccessToken(accessToken, accessTokenSecret));

当我检索这样的 twitter 对象并尝试获取与经过身份验证的用户不同的用户时,我收到了身份验证错误。以下是检索用户的代码:

user = twitter.showUser(userName);

在升级之前,我能够检索任何拥有公共个人资料的用户,但现在我无法检索除了经过身份验证的用户本身之外的任何用户。我在这里做 smtg 错了吗,我是否需要获得用户的许可才能查找他的时间线,我不相信,因为当我使用 twitter 的 oauth 工具时,我能够在没有得到用户任何许可的情况下检索用户.

我正在使用 twitter4j 3.03 版。

4

1 回答 1

1

显然旧 api 接受以“@”开头的用户名,而新版本只是抛出这个奇怪的错误。从搜索的用户名中删除“@”后,一切正常,没有任何问题。

于 2013-07-11T08:35:29.110 回答