簡體   English   中英

Twitter身份驗證錯誤“身份驗證憑據丟失”

[英]Twitter authentication error “Authentication credentials are missing”

我具有以下代碼,用於在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)

拆除線

twitter = TwitterFactory.getSingleton();

解決您的問題; getInstance()使用在ConfigurationBuilder指定的身份驗證詳細信息向您返回Twitter

如果要使用getSingleton() ,則需要使用身份驗證詳細信息對ConfigurationContext進行一些getSingleton() 我希望有一些有關如何完成此操作的文檔

另外,我建議不要將您的OAuth密鑰發布到公共網站上

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM