【问题标题】:com.twitter.sdk.android.core.TwitterApiException: HTTP request failed, Status: 400com.twitter.sdk.android.core.TwitterApiException:HTTP 请求失败,状态:400
【发布时间】: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


    【解决方案1】:

    尝试将您在 twitter 开发者网站中使用的应用程序中的回调 URL 添加到此。

    twittersdk://

    【讨论】:

    • 是的.. 我添加了这个回调 url。否则它根本不起作用。它有时会按预期工作,有时会失败。
    • 我查过了。这似乎相关,但无论如何都无法帮助我。我认为这 400 与输入请求有关。
    • twitter 对图片的宽度或高度有限制吗?我观察到它为高度较大的图像提供 400。图像 1080 X 9470 失败。
    猜你喜欢
    • 2017-11-15
    • 2017-06-02
    • 2021-11-09
    • 2020-10-21
    • 2019-09-29
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    相关资源
    最近更新 更多