【问题标题】:Twitter authentication error "Authentication credentials are missing"Twitter 身份验证错误“缺少身份验证凭据”
【发布时间】:2015-06-01 15:30:01
【问题描述】:

我有以下代码用于在 Java 中使用 Twitter API

import java.io.File;
import java.io.PrintWriter;
import java.util.List;
import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterFactory;
import twitter4j.conf.ConfigurationBuilder;

public class TwitterDataCollector {

    public static void main(String[] args) throws Exception {

        ConfigurationBuilder cb = new ConfigurationBuilder();

        cb.setDebugEnabled(true)
          .setOAuthConsumerKey(comsumerKey)
          .setOAuthConsumerSecret(consumerSecret)
          .setOAuthAccessToken(accesstoken)
          .setOAuthAccessTokenSecret(accesstokensecret);

        TwitterFactory tf = new TwitterFactory(cb.build());
        Twitter twitter = tf.getInstance();

        //PrintWriter tweetWriter = null;
         twitter = TwitterFactory.getSingleton();
        List<Status> statuses = twitter.getHomeTimeline();
        System.out.println("Showing home timeline.");

        for (Status status : statuses) {
            System.out.println(status.getUser().getName() + ":" + status.getText());
        }
    }
}

我正在尝试使用使用者密钥和访问令牌对 Twitter API 进行身份验证,并尝试访问我的时间线,但它正在显示

Exception in thread "main" 
java.lang.IllegalStateException: Authentication credentials are missing. See http://twitter4j.org/en/configuration.html for details
at twitter4j.TwitterBaseImpl.ensureAuthorizationEnabled(TwitterBaseImpl.java:186)
at twitter4j.TwitterImpl.get(TwitterImpl.java:1554)
at twitter4j.TwitterImpl.getHomeTimeline(TwitterImpl.java:105)
at TwitterDataCollector.main(TwitterDataCollector.java:24)

【问题讨论】:

    标签: java authentication twitter twitter-oauth twitter4j


    【解决方案1】:

    删除线

    twitter = TwitterFactory.getSingleton();
    

    解决您的问题; getInstance() 正在使用您在 ConfigurationBuilder 中指定的身份验证详细信息向您返回 Twitter

    如果您想使用getSingleton(),您需要使用您的身份验证详细信息对ConfigurationContext 进行一些启动。我希望有一些关于如何做到这一点的文档

    附带说明,我建议不要将您的 OAuth 密钥发布到公共网站

    【讨论】:

      猜你喜欢
      • 2014-01-05
      • 2013-04-11
      • 2014-01-20
      • 1970-01-01
      • 2021-09-24
      • 2017-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多