私は複数のTwitterアカウントを今月認証できましたが、私はアプリの権限を変更してDMを表示できました。その後、私は自分のアカウントをreauthentiactedし、最初のアカウントは正常に機能しましたが、追加アカウントはありませんでした。Twitter4jアプリの権限を変更した後のOAuthの「不正な認証データ」コード215
コンシューマーキー、コンシューマーシークレット、アクセストークン、アクセストークンシークレットをコンソールに出力することにしました。私の最初のアカウントには空白がなく、正しく見えます。ただし、2番目のアカウントのアクセストークンは、直接メッセージを許可する前に、アクセストークンのいずれよりも10文字長くなります。私が認証を試みたときにも、私はこのエラーを取得する:エラーメッセージが表示され、いくつかのグーグルによると
400:The request was invalid. An accompanying error message will explain why. This is the status code will be returned during version 1.0 rate limiting(https://dev.twitter.com/pages/rate-limiting). In API v1.1, a request without authentication is considered invalid and you will get this response.
message - Bad Authentication data.
code - 215
は、リクエストが認証なしで行われるたびに、このエラーが走っているようにそれはそう検索します。しかし、私は認証しています。また、どのような方法でキーを変更しても、無効または有効期限の切れたトークン(エラー89)についてはまったく異なるエラーが表示されます。
これは、私が認証した最初のアカウントではなく、追加のアカウントでのみ発生します(最初のアカウントは完全に正常に動作します)。これは私が実行しているコードです:
public class Tweeter {
private String consumerKey = null;
private String consumerSecret = null;
private String accessToken = null;
private String accessSecret = null;
private Twitter twitter = null;
public Tweeter(String consumerKey, String consumerSecret, String accessToken, String accessSecret) {
this.consumerKey = consumerKey;
this.consumerSecret = consumerSecret;
this.accessToken = accessToken;
this.accessSecret = accessSecret;
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey(consumerKey).setOAuthConsumerSecret(consumerSecret).setOAuthAccessToken(accessToken).setOAuthAccessTokenSecret(accessSecret);
TwitterFactory factory = new TwitterFactory(cb.build());
twitter = factory.getInstance();
Logger.log("\"" + factory.getInstance().getConfiguration().getOAuthConsumerKey() + "\"");
Logger.log("\"" + factory.getInstance().getConfiguration().getOAuthConsumerSecret() + "\"");
Logger.log("\"" + factory.getInstance().getConfiguration().getOAuthAccessToken() + "\"");
Logger.log("\"" + factory.getInstance().getConfiguration().getOAuthAccessTokenSecret() + "\"");
}
public String getConsumerKey() {
return consumerKey;
}
public String getConsumerSecret() {
return consumerSecret;
}
public String getAccessToken() {
return accessToken;
}
public String getAccessSecret() {
return accessSecret;
}
public Twitter getTwitter() {
return twitter;
}
}
これは、同じであっても、追加のTwitterアカウントのいくつかと、私は今、数ヶ月のために働いているプロジェクトで使用したのと同じコードです。変更された唯一のことは、今では私がDMを見ることを許可するアプリケーションのアクセス許可です。どのように私は再びこの作業を得ることができる任意のアイデア?ありがとう