【发布时间】:2013-01-13 00:32:12
【问题描述】:
我正在尝试使用 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);
在升级之前,我能够检索任何拥有公开个人资料的用户,但现在我无法检索除了经过身份验证的用户本身之外的任何用户。我在这里做错了吗,我是否需要获得用户的许可才能查找他的时间线,我不相信,因为当我使用 twitter 的 oauth 工具时,我无需获得用户的任何许可就可以检索用户.
我使用的是 twitter4j 3.03 版。
【问题讨论】:
-
显然旧 api 接受以“@”开头的用户名,而新版本只是抛出这个奇怪的错误。从搜索的用户名中删除“@”后,一切正常。
-
请将其作为答案发布,以便对其他人有所帮助
-
我添加了我的评论作为答案,干杯
-
太好了。干杯 :-)