credentials - twitter4j:即使我已经设置了凭证错误?

标签 credentials twitter4j

package twitter4j.examples.tweets;

import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;
import twitter4j.conf.*;

import java.io.IOException;

public final class UpdateStatus {

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

        String testPost = "hello from otc";
        String consumerKey = "key";
        String consumerSecret = "secret";
        String accessToken = "access";
        String accessSecret = "access_secret";

        ConfigurationBuilder cb = new ConfigurationBuilder();

        cb.setDebugEnabled(true)
            .setOAuthConsumerKey(consumerKey)
            .setOAuthConsumerSecret(consumerSecret)
            .setOAuthAccessToken(accessToken)
            .setOAuthAccessTokenSecret(accessSecret);

        try {
            TwitterFactory factory = new TwitterFactory();
            Twitter twitter = factory.getInstance();
            AccessToken accestoken = new AccessToken(accessToken, accessSecret);

            twitter.setOAuthAccessToken(accestoken);
            Status status = twitter.updateStatus(testPost);
            System.out.println("it worked!");
            if (status.getId() == 0) {
                System.out
                        .println("Error occured while posting tweets to twitter");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

为什么我总是收到此错误:

401:身份验证凭据 (http://dev.twitter.com/pages/auth) 丢失或不正确。确保您已设置有效的消费者 key / secret 、访问 token / secret 以及同步的系统时钟。 错误 - 无法使用 OAuth 进行身份验证。 请求 -/1/statuses/update.json 相关讨论可以在网上进行: http://www.google.co.jp/search?q=e06d87a8或者 http://www.google.co.jp/search?q=5851cbdb TwitterException{exceptionCode=[e06d87a8-5851cbdb],statusCode=401,retryAfter=-1,rateLimitStatus=null,featureSpecificRateLimitStatus=null,version=2.2.3} 在 twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:189) 在 twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:65) 在 twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:102) 在 twitter4j.TwitterImpl.post(TwitterImpl.java:1871) 在 twitter4j.TwitterImpl.updateStatus(TwitterImpl.java:459) 在 twitter4j.examples.tweets.UpdateStatus.main(UpdateStatus.java:35)

我已经在文件中设置了凭据,不是吗?

最佳答案

我发现这是一个工作代码:

package twitter4j.examples.tweets;

import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;

import java.io.IOException;

public final class UpdateStatus {

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

        String tweet = "your first tweet via java";

        String accessToken = "your access token";
        String accessSecret = "your access token secret";

        try {
            TwitterFactory factory = new TwitterFactory();
            Twitter twitter = factory.getInstance();
            AccessToken accestoken = new AccessToken(accessToken, accessSecret);

            twitter.setOAuthAccessToken(accestoken);
            Status status = twitter.updateStatus(tweet);
            System.out.println("it worked!");
            if (status.getId() == 0) {
                System.out
                        .println("Error occured while posting tweets to twitter");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意:为此,您必须在 Twitter 上创建一个应用程序 您必须有一个 twitter4j.properties 文件,其中包含以下内容

debug set to true
oauth.consumerKey 
oauth.consumerSecret 
oauth.accessToken 
oauth.accessTokenSecret

所有 key 和 token 均来自 Twitter 应用程序 确保您的应用程序访问级别均为“读和写”

关于credentials - twitter4j:即使我已经设置了凭证错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6681399/

相关文章:

android - 我可以更改登录提示模式标题(从 'Choose an Account' 到 'Pre-fill Sign up form' )

azure - 在 azure synapse 上执行 OPENROWSET 会导致 'Resolving CosmosDB path has failed with error ' Secret 不是 base64 编码的 .''

C# .net MVC,设置 Google Application Credentials JSON 文件的路径

xml - 使用凭据的 Spring MongoDB XML 配置失败

java - 类型不兼容并且在 twitter4j 中找不到符号?

无法识别 tomcat-users.xml 凭据,tomcat 中用户的密码/ token 无效

android - twitter4j getOAuthRequestToken() 错误

java - 从 Twitter 中检索用户个人资料图像

java - 按语言搜索推特

android - 如何使用 Twitter4j api 回复推文?