com.twitter.sdk.android.core.TwitterApiException:HTTP请求失败,状态:400

时间:2020-06-14 04:31:10

标签: android twitter twitter-oauth http-status-code-400

当我从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。

1 个答案:

答案 0 :(得分:0)

尝试将您在Twitter开发人员站点中使用的应用程序中的回调URL添加到此。

twittersdk://