Twitter4j:调用 getFollowersIDs 时出现不一致的身份验证错误

标签 twitter twitter4j

我使用的是 Twitter4j 版本 3.0.3。

我正在尝试提取关注者 ID 并使用 OAuth。我已经使用 Twitter4j 多年,并且对该框架比较有经验。

但是发生了一些奇怪的事情:我的程序运行良好,然后间歇性地抛出以下堆栈跟踪:

Exception in thread "main" 401:Authentication credentials (https://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid consumer key/secret, access token/secret, and the system clock is in sync.
{"request":"\/1.1\/followers\/ids.json?user_id=20801287&cursor=-1&include_entities=1&include_rts=1","error":"Not authorized"}

Relevant discussions can be found on the Internet at:
    http://www.google.co.jp/search?q=92c30ec6 or
    http://www.google.co.jp/search?q=19400604
TwitterException{exceptionCode=[92c30ec6-19400604], statusCode=401, message=null, code=-1, retryAfter=-1, rateLimitStatus=RateLimitStatusJSONImpl{remaining=6, limit=15, resetTimeInSeconds=1362898120, secondsUntilReset=890}, version=3.0.3}
    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:177)
    at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
    at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:89)
    at twitter4j.TwitterImpl.get(TwitterImpl.java:1817)
    at twitter4j.TwitterImpl.getFollowersIDs(TwitterImpl.java:400)

它在下面的行抛出上面的内容:

IDs ids= twitter.getFollowersIDs(id,cursor);

上面的行执行得很好,然后没有警告就失败了。

注意:我正在检查速率限制,上次遇到此问题时,以下行拉取的速率限制 JSON 对象是(如下):

RateLimitStatus rls=twitter.getRateLimitStatus().get("/followers/ids")

RateLimitStatusJSONImpl{remaining=7, limit=15, resetTimeInSeconds=1362898120, secondsUntilReset=890}

我以为这可能是 Twitter 的间歇性问题,但现在已经持续了几天了。

我在不同的机器上尝试过,但遇到了完全相同的问题。

调用以这种方式失败,大约每 20 次调用就会失败一次。

我也在 SE 上阅读了类似的问题:

  1. Twitter4j 401 Authentication -- 然而,这是 OAuth 不起作用的情况 -- 在我的例子中,它似乎工作正常,直到它不起作用为止。

  2. twitter4j: getting credential errors even though i had set them? -- 同样,这里与我的情况相似的地方并不多。

  3. Problem in Oauth with twitter4j -- 建议将应用程序注册为网络应用程序,我已经完成了,我已经填写了回调网址(尽管它什么也没做),但仍然没有成功。

最佳答案

该异常似乎是由可能是私有(private)的 Twitter 个人资料的 ID 引起的。

关于Twitter4j:调用 getFollowersIDs 时出现不一致的身份验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15326040/

相关文章:

android - Cordova 4.1.2 推特整合

ios - 是否可以在 iOS 上后台工作社交分享?

java - twitter4j twitterobjectfactory.createstatus 将 retweetedStatus 返回为 null

java - 尝试异步连接到 Twitter 时 Activity 关闭

android - 如何在Android应用程序中从Twitter获取用户信息?

python - 没有名为 'tweetProcesser' 的模块

iOS 推特 NSURLErrorDomain Code=-1012

python - 使用 Tweepy 将扩展推文保存到 CSV?

android - 如何使用 twitter4j 库获取屏幕名称的推文?

java - twitter API 获取 id 之后的推文