Twiiter4J getDirectMessages() больше не работает?

Я использую Twitter4J 2.2.5 (последняя, ​​пробовал другие версии). И больше не может заставить работать прямые сообщения. Тот же код работал некоторое время назад. Я предполагаю, что Твиттер что-то изменил.

я использую

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)

person Pygmalion Box    schedule 03.02.2012    source источник


Ответы (2)


Твиттер некоторое время назад изменил правила для прямых сообщений. Приложение должно быть специально авторизовано пользователем для доступа к прямым сообщениям.

Вы убедились, что это правда для вас? Вы можете зайти на сайт Twitter и проверить наличие приложения.

person Heiko Rupp    schedule 03.02.2012

Чтобы получить прямое сообщение, вы должны попробовать приведенный ниже код. Он работает для меня.

получитьпрямые сообщения(); дает список личных сообщений. Нам нужно поставить цикл for, чтобы получить текст каждого сообщения.

      List<DirectMessage> messages = twitter.getDirectMessages();
      for (DirectMessage message : messages) 
      {
          System.out.println(message.getText());
      }

Дайте мне знать, если вы получите какую-либо ошибку.

person vikiiii    schedule 06.02.2012