Twitter 休息 API Http 请求失败 (Android)

Twitter Rest API Http Request Fail (Android)

我试图通过 Twitter 的 Rest API 获取用户的一些信息,但总是得到 400 响应代码(错误请求)。

TwitterAuthToken authToken = Twitter.getSessionManager().getActiveSession().getAuthToken();
OAuthSigning oauthSigning = new OAuthSigning(TwitterCore.getInstance().getAuthConfig(), authToken);

Map<String, String> authHeaders = oauthSigning.getOAuthEchoHeadersForVerifyCredentials();

try {
    URL url = new URL("https://api.twitter.com/1.1/account/verify_credentials.json");
    HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
    connection.setRequestMethod("GET");

    for (Map.Entry<String, String> entry : authHeaders.entrySet()) {
        connection.setRequestProperty(entry.getKey(), entry.getValue());
    }

    Log.v(MAIN_LOGIN_ACTIVITY_TAG, String.valueOf(connection.getResponseCode()));
} catch (IOException e) {
    e.printStackTrace();
}

我在https://dev.twitter.com/es/twitter-kit/android/oauth-echo看了一下,好像还可以。。。 任何人都可以帮助我吗?

提前致谢!

我通过其他方式得到了解决方案。来自 Access Twitter's REST API: TwitterCore Kit 提供了一个 TwitterApiClient 用于发出经过身份验证的 Twitter API 请求。

最后:

if (Twitter.getSessionManager().getActiveSession() != null) {
    AccountService accountService = TwitterCore.getInstance().getApiClient().getAccountService();
    accountService.verifyCredentials(false, false, new Callback<com.twitter.sdk.android.core.models.User>() {
        @Override
        public void success(Result<com.twitter.sdk.android.core.models.User> result) {
            Log.v(MAIN_LOGIN_ACTIVITY_TAG, String.valueOf(result.data.getId()));
        }

        @Override
        public void failure(TwitterException e) {
            Log.v(MAIN_LOGIN_ACTIVITY_TAG, e.getMessage());
        }
    });
}

您好。