繁体   English   中英

Twitter4j:未设置OAuth使用方密钥/秘密

[英]Twitter4j: OAuth Consumer Key/Secret Not Set

我刚刚开始使用Twitter4j,正在尝试使我的第一个应用程序正常工作。 我已经在Twitter应用程序页面上注册了我的应用程序,并将OAuth信息输入了twitter4j.properties文件。 但是,每次尝试运行该应用程序时,都会收到一条错误消息,提示“ OAuth使用者密钥/秘密未设置”。 我已经在此消息中包含了代码。

任何帮助将不胜感激。

在此先感谢,Aonghus

import java.util.logging.Logger;
import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Status;
import twitter4j.Tweet;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;
import twitter4j.auth.RequestToken;


public class test {
    private final Logger logger = Logger.getLogger(test.class.getName());
    public static void main(String[] args) {
        new test().publish();
    }

    private void publish(){

        String message="Twitter application using Java http://www.java-tutorial.ch/architecture/twitter-with-java-tutorial";

        try {
            Twitter twitter = new TwitterFactory().getInstance();
            try {
                RequestToken requestToken = twitter.getOAuthRequestToken();
                AccessToken accessToken = null;
                while (null == accessToken) {
                    logger.fine("Open the following URL and grant access to your account:");
                    logger.fine(requestToken.getAuthorizationURL());
                    try {
                        accessToken = twitter.getOAuthAccessToken(requestToken);
                    } 
                    catch (TwitterException te) {
                        if (401 == te.getStatusCode()) {
                            logger.severe("Unable to get the access token.");
                        } else {
                            te.printStackTrace();
                        }
                    }
                }
                logger.info("Got access token.");
                logger.info("Access token: " + accessToken.getToken());
                logger.info("Access token secret: " + accessToken.getTokenSecret());
            } 
            catch (IllegalStateException ie) {
                // access token is already available, or consumer key/secret is not set.
                if (!twitter.getAuthorization().isEnabled()) {
                    logger.severe("OAuth consumer key/secret is not set.");
                    return;
                }
            }
            Status status = twitter.updateStatus(message);
            logger.info("Successfully updated the status to [" + status.getText() + "].");
        } 
        catch (TwitterException te) {
            te.printStackTrace();
            logger.severe("Failed to get timeline: " + te.getMessage());
        }
    }
}

您需要在项目中创建一个看起来像这样的文件

debug=false
oauth.consumerKey=**************
oauth.consumerSecret=************************************
oauth.accessToken=****************************************
oauth.accessTokenSecret=*******************************

http://twitter4j.org/en/configuration.html

twitter4j.properties是一种方法。

您需要设置使用者密钥/秘密。您必须从Twitter Developers获得此密钥

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM