【发布时间】:2020-10-03 16:37:09
【问题描述】:
当我使用我的 Android 应用程序中的 Twitter 作曲家撰写推文时,我收到此 400 错误。
使用 Twitter SDK 进行身份验证:
TwitterConfig config = new TwitterConfig.Builder(this)
.logger(new DefaultLogger(Log.DEBUG))
.twitterAuthConfig(new TwitterAuthConfig(getResources().getString(R.string.twitter_api_key), getResources().getString(R.string.twitter_api_secret)))
.debug(true)
.build();
Twitter.initialize(config);
twitterAuthClient = new TwitterAuthClient();
TwitterSession twitterSession = TwitterCore.getInstance().getSessionManager().getActiveSession();
if (twitterSession == null) {
twitterAuthClient.authorize(this, new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
TwitterSession twitterSession = result.data;
shareOnTwitter(twitterSession);
}
@Override
public void failure(TwitterException e) {
showToast("Failed to authenticate user " + e.getMessage());
}
});
} else {
shareOnTwitter(twitterSession);
}
使用 TweetComposer 分享:
private void shareOnTwitter(TwitterSession twitterSession) {
Intent intent = new ComposerActivity.Builder(MyShareActivity.this)
.session(twitterSession)
.image(Uri.fromFile(imageFile))
.text("Tweet Message")
.hashtags("#MyApp")
.createIntent();
startActivityForResult(intent, SHARE_ON_TWITTER);
}
这是我有时会遇到的错误。它有时会按预期工作。
E/TweetUploadService: Post Tweet failed
com.twitter.sdk.android.core.TwitterApiException: HTTP request failed, Status: 400
at com.twitter.sdk.android.core.Callback.onResponse(Callback.java:42)
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7397)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
谁能帮帮我? twitter 对图像的宽度或高度有任何限制吗?我注意到它为高度更大的图像提供了 400。图像 1080 X 9470 失败。我也可以使用 Twitter 应用程序和网站发布相同的图像,但不能在我的应用程序中使用 TweetComposer。
【问题讨论】:
标签: android twitter twitter-oauth http-status-code-400