2013-06-20 2 views
0

Я использую пример на этом link, чтобы выполнить поиск в Twitter.Как получить твиты с использованием Twitter4J без учетных данных?

Это мой код:

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     searchTweets(); 
    } 

    private void searchTweets() { 
     Twitter twitter = new TwitterFactory().getInstance(); 
     try { 
      Query query = new Query("android"); 
      QueryResult result; 
      do { 
       result = twitter.search(query); 
       List<Status> tweets = result.getTweets(); 
       for (Status tweet : tweets) { 
        System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText()); 
       } 
      } while ((query = result.nextQuery()) != null); 
      System.exit(0); 
     } catch (TwitterException te) { 
      te.printStackTrace(); 
      System.out.println("Failed to search tweets: " + te.getMessage()); 
      System.exit(-1); 
     } 
    } 
} 

Я использую twitter4j-ядро-3.0.3

Я столкнулся это сообщение об ошибке:

Unable to start activity {...MainActivity}: java.lang.IllegalStateException: 
Authentication credentials are missing. See http://twitter4j.org/configuration.html for the detail. 

Но, почему у меня установить некоторые твиттер-учетные данные для получения твитов?

Есть ли какие-то ошибки в моем коде?

Спасибо!

ответ

1

аутентификации требуется, так как API 1.1, так как его documentation говорит:

В версии 1.1 мы требуем приложения для проверки подлинности всех своих запросов с OAuth 1.0a или аутентификации приложений только. Мало того, что эта видимость позволит нам предотвратить оскорбительное поведение, но это также поможет нам понять, как категории приложений используют API. Мы будем применять это понимание, чтобы лучше удовлетворять потребности разработчиков, поскольку мы продолжаем развивать платформу. В настоящее время для всей аутентификации требуется контекст пользователя, но в ближайшие недели мы откажемся от поддержки формы проверки подлинности, не требующей контекста пользователя.

+0

Да, человек. Ты прав. До тех пор, пока какой-то ответ, но спасибо в любом случае. – androidevil

+0

Я знаю, слишком поздно ... но это может быть полезно для тех, кто ищет что-то похожее, как я, когда я вошел сюда в Google. –

+0

Да. Безусловно! – androidevil

1

Я использую библиотеку писца для аутентификации с протоколом OAuth для большого количества api, например, например, твиттера, я надеюсь, что эта информация может вам помочь.

https://github.com/fernandezpablo85/scribe-java

+0

Долгое время до ответа, но спасибо в любом случае. Может быть, кто-то может увидеть это как ссылку. Я не помню, как я решил эту проблему. Я думаю, что создал профиль и использовал его учетные данные, чтобы задать твиты. – androidevil