Twitter4j Android FileNotFoundException, выполнив getFollowersIDs или getDirectMessages

Я использую twitter4j на своем телефоне Android 1.6 для запроса данных, связанных с пользователем, таких как все новые прямые сообщения или идентификаторы подписчиков. Он отлично работает, если я запрашиваю только тенденции или другую пользовательскую несвязанную информацию (например, тенденции), но если я пытаюсь запросить информацию, такую ​​​​как идентификаторы подписчиков или новые прямые сообщения, twitter4j выдает TwitterException со следующей причиной

java.io.FileNotFoundException: http://api.twitter.com/1/direct_messages.json

Я создаю экземпляр twitter со следующим кодом:

TwitterFactory twitterFax = new TwitterFactory();
twitterInstance = twitterFax.getInstance(USERNAME, USER_PASSWORD);

Исключение выдает здесь:

try {

     ResponseList<DirectMessage> directMessages = twitterInstance.getDirectMessages();

     if(directMessages.size() > 0){

        publishProgress(directMessages.toArray());
     }

} catch (TwitterException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Почему это не работает?


person ToBe    schedule 29.11.2010    source источник


Ответы (1)


Твиттер API больше не поддерживает простую аутентификацию (вы их тоже не проверяли), используйте OAuth:

http://twitter4j.org/en/code-examples.html#oauth

См. также: Исключение Twitter4J при проверке учетных данных

person Mathias Conradt    schedule 29.11.2010
comment
Спасибо, это была проблема. Есть ли способ сделать запрос пин-кода внутри кода, если у меня есть ключи приложения Twitter и имя пользователя/пароль для аутентификации пользователя? - person ToBe; 02.12.2010
comment
Точно сказать не могу. Что я делаю, так это предоставляю поле ввода текста для булавки и кнопку ниже, которая открывает URL-адрес авторизации Twitter в браузере, где пользователь увидит булавку. Ему нужно будет вернуться в приложение вручную и ввести там пин-код. Пока не нашел способа автоматизировать. Вместо того, чтобы открывать браузер, вы могли бы открыть веб-просмотр под полем ввода булавки, чтобы сделать его более удобным, и пользователю не нужно покидать экран. - person Mathias Conradt; 03.12.2010
comment
Хорошо, я думаю, что решил проблему, просто используя сгенерированные токены для моей учетной записи разработчика. К счастью, мне не нужен другой пользователь для входа в мое приложение. - person ToBe; 13.12.2010