2015-10-20 24 views
6

Android 6.0預覽設備中的Twitter登錄失敗。它在所有其他設備上工作正常。未能在Android M正在運行的設備上獲取請求令牌

下面的代碼用於使用twitter初始化結構。

TWITTER_ KEY和TWITTER_SECRET鍵是從Twitter應用程序設置獲得的。

TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET); 
    Fabric.with(this, new Twitter(authConfig)); 

這是我在使用TwitterApiClient登錄時得到的錯誤日誌。

08-31 07:52:09.988 4692-4692/? E/Twitter: Failed to get request token 
    08-31 07:52:09.988 4692-4692/? E/Twitter: com.twitter.sdk.android.core.TwitterApiException: 401 Authorization Required 
    08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:383) 
    08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220) 
    08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278) 
    08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.CallbackRunnable.run(CallbackRunnable.java:42) 
    08-31 07:52:09.988 4692-4692/? E/Twitter: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
    08-31 07:52:09.988 4692-4692/? E/Twitter: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
    08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.Platform$Android$2$1.run(Platform.java:142) 
    08-31 07:52:09.988 4692-4692/? E/Twitter: at java.lang.Thread.run(Thread.java:818) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: Authorization completed with an error 
    08-31 07:52:10.000 4692-4692/? E/Twitter: com.twitter.sdk.android.core.TwitterAuthException: Failed to get request token 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at com.twitter.sdk.android.core.identity.OAuthController$1.failure(OAuthController.java:95) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at com.twitter.sdk.android.core.internal.oauth.OAuth1aService$1.failure(OAuth1aService.java:215) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at com.twitter.sdk.android.core.Callback.failure(Callback.java:45) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at retrofit.CallbackRunnable$2.run(CallbackRunnable.java:53) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at android.os.Handler.handleCallback(Handler.java:739) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at android.os.Handler.dispatchMessage(Handler.java:95) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at android.os.Looper.loop(Looper.java:148) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at android.app.ActivityThread.main(ActivityThread.java:5417) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at java.lang.reflect.Method.invoke(Native Method) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    08-31 07:52:10.000 4692-4692/? E/Twitter: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
+0

somethimes在開發者控制檯[Rü驗證WIA電子郵件是從你身邊這些確認?並檢查虛擬和真實的設備...... !!! –

回答

0

在密鑰和訪問令牌標籤創建你的訪問令牌

7

我有同樣的問題和解決的。在我的情況下,我需要在twitter dev帳戶中設置回調網址。

Twitter dev account->setting->callBack url(set any valid url like www.google.com)

+0

我已經這樣做了。以下錯誤代碼:com.twitter.sdk.android.core.TwitterAuthException:無法獲得請求令牌 此錯誤的原因是我沒有安裝twitter應用程序。如果我這樣做,那麼它工作正常 我該怎麼做? – Rajat

+1

@Rajat同樣的問題在這裏和SDK.M設備只...........請任何人幫助.......... – Ramaraju

1

我正面臨同樣的問題(剛回來時)。

轉到Twitter Application Management - >
單擊 '應用' 上,您目前正在使用 - '設置' 選項卡>
點擊 - >
1)回調URL:將任何有效的URL(喜歡你的網站的主頁)
2)啓用回撥鎖定(建議使回調鎖定,以確保應用程序無法覆蓋的回調URL):驗證它是選中

Twitter Kit tries to use a webview if the twitter app is not found.
The webview part of Twitter kit needs to override the callback url.

Info about Callback Url field clearly states: To restrict your application from using callbacks, leave this field blank.
So, we need to write down any valid url :)

參考:
個人經驗所獲得的瞬間回:P
Failed to get request token

+0

它的工作.....謝謝你提到它詳細 :) – Rahul