我正在使用Twitter4J 2.2.5(最新的,尝试了其他版本)。而且根本无法获得直接信息。用于前一段时间的相同代码。我认为Twitter改变了一些东西。
我正在使用
Twitter.getDirectMessages()
,它给出了以下错误。不知道为什么,如果我登录,我可以看到帐户的直接消息,但总是会收到此错误。限制错误没有意义,因为帐户没有接近限制。
其他API工作,如粉丝/炒/状态/等。
403:The request is understood, but it has been refused. An accompanying error message will explain why. This code is used when requests are being denied due to update limits (http://support.twitter.com/forums/10711/entries/15364).
Relevant discussions can be on the Internet at:
http://www.google.co.jp/search?q=00919618 or
http://www.google.co.jp/search?q=332bf6ca
TwitterException{exceptionCode=[00919618-332bf6ca], statusCode=403, retryAfter=0, rateLimitStatus=RateLimitStatusJSONImpl{remainingHits=107, hourlyLimit=350, resetTimeInSeconds=1328297, secondsUntilReset=1116, resetTime=Fri Feb 03 14:39:45 EST 2012}, version=2.2.2}
at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:189)
at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:65)
at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:93)
at twitter4j.TwitterImpl.get(TwitterImpl.java:1721)
at twitter4j.TwitterImpl.getDirectMessages(TwitterImpl.java:874)
at org.pandora.sense.twitter.TwitterDirectMessaging.checkDirectMessages(TwitterDirectMessaging.java:44)
at org.pandora.sense.twitter.TwitterDirectMessaging.checkProfile(TwitterDirectMessaging.java:35)
at org.pandora.sense.twitter.Twitter$1.run(Twitter.java:100)
at java.lang.Thread.run(Thread.java:662)
答案 0 :(得分:1)
Twitter前段时间改变了直接消息的规则。用户必须特别授权应用程序才能访问直接消息。
你确定这对你来说是真的吗?您可以访问Twitter网站并查看该应用程序。
答案 1 :(得分:0)
要获得直接消息,您应该尝试以下代码。它适用于我。
getDirectMessages();提供列表的直接消息。我们需要使用 for loop 来获取每封邮件的文本。
List<DirectMessage> messages = twitter.getDirectMessages();
for (DirectMessage message : messages)
{
System.out.println(message.getText());
}
如果您收到任何错误,请告诉我。