簡體   English   中英

Twitter Rest 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的REST API中獲取 TwitterCore工具包提供了一個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());
        }
    });
}

問候

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM